⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p2kman.asm

📁 这是一个多媒体播放软件. 这是一个多媒体播放软件. 这是一个多媒体播放软件.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                mov     eax,  0
                jmp     @@exit
@@type_a:
                mov     eax,  1
                jmp     @@exit

@@exit:
                xor     al, LV_Sort_dir
                pop     edx
                pop     ecx
                leave
                retn 0Ch
LV_Sort_Proc    endp



; write str to log window
; arg_0 - hwnd
; arg_4 - str

LogStat         proc near
arg_0           = dword ptr  8
                push    ebp
                mov     ebp, esp
                pusha
                cmp     stay_quiet,1
                jz      @@quiet
                push    [ebp+arg_0]
                push    0               ; reserved
                push    0C2h
                push    1000
                push    Dlg_hwnd
                call    SendDlgItemMessageA
@@quiet:
                popa
                leave
                retn 4
Logstat         endp

LoadStrings     proc near
                mov     edi, offset msg_inv_data_len
                mov     ebx, 1
                add     ebx, esi
@@loop:
                push    100h
                push    edi ; buf
                push    ebx ;ID
                push    Our_Handle
                call    LoadStringA
                inc     ebx
                add     edi, 100h
                mov     eax, 77
                add     eax, esi
                cmp     ebx, eax
                jb      @@Loop
                retn
LoadStrings     endp

HexStr2Int      proc near
arg_0           = dword ptr  8

                push    ebp
                mov     ebp, esp
                push    esi
                push    ecx
                push    edx
                mov     ecx,8
                mov     edx,0
                mov     esi, [ebp+arg_0]
@@loop:
                lodsb
                cmp     al, 0
                jz      @@exit
                cmp     al, 30h
                jb      @@exit
                sub     al,30h
                cmp     al, 9
                jbe     @@num
                sub     al, 7
@@num:
                cmp     al, 10h
                jb      @@ok
                sub     al, 20h
@@ok:
                cmp     al, 0fh
                ja      @@exit

                shl     edx, 4
                or      dl, al
                loop    @@loop
@@exit:
                mov     eax, edx
                pop     edx
                pop     ecx
                pop     esi
                leave
                retn 4
HexStr2Int      endp


;####################################################
;
;  P2K IO Procedures
;
;####################################################


; Make Filelist of P2K phone

ListP2K         Proc near

arg_0           = dword ptr  8

                push    ebp
                mov     ebp, esp
                pusha

                push    0h
                push    0h
                push    1009h           ; Clear ListBox
                push    3F0h
                push    [ebp+arg_0]
                call    SendDlgItemMessageA

                push    offset str_Search_req
                call    LogStat

; query filelist from phone
                push    [ebp+arg_0]
                call    FSAC_search_file
                cmp     eax, 0
                jnz     @@fail

                push    offset str_ok
                call    LogStat

; Convert flags & size toBig-Endian
; and add items to ListBox

                mov     edi, Files_found
                xor     edx, edx
                mov     esi, SearchBuf_Ptr
                mov     ebx, FileList_RecSize
@@loop_1:
                movzx   eax, word ptr [esi]
                xchg    ah,al
                mov     ecx, eax
                add     esi, 4
@@loop_2:
                mov     eax, [esi+ebx-4]
                xchg    ah, al
                rol     eax,10h
                xchg    ah,al
                mov     [esi+ebx-4], eax

                mov     ax, [esi+ebx-6h]
                xchg    ah, al
                mov     [esi+ebx-6], ax

                mov     ax, [esi+ebx-8]
                xchg    ah, al
                mov     [esi+ebx-8], ax

                push    esi
                call    GetFile_ext

                push    0
                push    eax
                push    esi
                mov     eax, [esi+ebx-8]
                push    eax
                mov     eax, [esi+ebx-4]
                push    eax
                push    [ebp+arg_0]
                call    AddRow

                add     esi, ebx

                inc     edx
                dec     edi
                loop    @@loop_2

                cmp     edi, 0
                jnz     @@loop_1

; log result
                push    offset str_Files_Added
                call    LogStat

                push    edx
                push    offset str_dec
                push    offset str_buf
                call    wsprintfA
                add     esp, 0Ch

                push    offset str_buf
                call    LogStat

                push    offset crlf
                call    LogStat

                push   [ebp+arg_0]
                call   GetVolInfo

@@exit:
                popa
                leave
                retn 4
@@fail:
                push    offset str_fail
                call    LogStat
                jmp     @@exit
ListP2K         endp

GetFile_ext       proc near
arg_0             = dword ptr  8

                  push    ebp
                  mov     ebp, esp

                  push    ebx
                  push    edx
                  push    esi

                  mov     eax, 0
                  mov     edx, 0
                  mov     ebx, FileList_RecSize
                  sub     ebx, 8
                  mov     esi, [ebp+arg_0]
@@char_loop:
                  cmp     byte ptr [esi+eax], 0
                  jz      @@extdone
                  cmp     byte ptr [esi+eax], '.'
                  jnz     @@next_char
                  mov     edx, esi
                  add     edx, eax
                  inc     edx
@@next_char:
                  inc     eax
                  cmp     eax, ebx
                  jna     @@char_loop
@@extdone:
                  cmp     edx, 0
                  jnz     @@ok
                  mov     edx, offset str_null
@@ok:
                  mov     eax, edx

                  pop     esi
                  pop     edx
                  pop     ebx
                  leave
                  retn 4
GetFile_ext       endp

Get_List_FileSize proc near

arg_0           = dword ptr  8

                  push    ebp
                  mov     ebp, esp

                  push    edi
                  push    esi
                  push    ebx
                  push    edx
                  push    ecx


                  mov     ebx, [ebp+arg_0]
                  mov     edi, Files_found
                  xor     edx, edx
                  mov     esi, SearchBuf_Ptr
@@loop_1:
                  movzx   eax, word ptr [esi]
                  xchg    ah,al
                  mov     ecx, eax
                  add     esi, 4
@@loop_2:
                  push    esi
                  push    ecx
                  mov     ebx, [ebp+arg_0]
                  mov     ecx, 0
@@loop_cmp:
                  mov     al, [esi]
                  cmp     al, [ebx+ecx]
                  jnz     @@next
                  cmp     al, 0
                  jz      @@ok
                  inc     ecx
                  inc     esi
                  mov     eax, FileList_RecSize
                  sub     eax, 8
                  cmp     ecx, eax
                  jz      @@ok
                  jmp     @@loop_cmp
@@ok:
                  pop     ecx
                  pop     esi

                  mov     eax, FileList_RecSize
                  mov     eax, [esi+eax-4]
                  jmp     @@exit
@@next:
                  pop     ecx
                  pop     esi

                  add     esi, FileList_RecSize

                  inc     edx
                  dec     edi
                  loop    @@loop_2

                  cmp     edi, 0
                  jnz     @@loop_1
                  mov     eax,-1
@@exit:
                  pop     ecx
                  pop     edx
                  pop     ebx
                  pop     esi
                  pop     edi
                  leave
                  retn 4
Get_List_FileSize endp

Get_List_FileAttr proc near

arg_0           = dword ptr  8

                  push    ebp
                  mov     ebp, esp

                  push    edi
                  push    esi
                  push    ebx
                  push    edx
                  push    ecx


                  mov     ebx, [ebp+arg_0]
                  mov     edi, Files_found
                  xor     edx, edx
                  mov     esi, SearchBuf_Ptr
@@loop_1:
                  movzx   eax, word ptr [esi]
                  xchg    ah,al
                  mov     ecx, eax
                  add     esi, 4
@@loop_2:
                  push    esi
                  push    ecx
                  mov     ebx, [ebp+arg_0]
                  mov     ecx, 0
@@loop_cmp:
                  mov     al, [esi]
                  cmp     al, [ebx+ecx]
                  jnz     @@next
                  cmp     al, 0
                  jz      @@ok
                  inc     ecx
                  inc     esi
                  mov     eax, FileList_RecSize
                  sub     eax, 8
                  cmp     ecx, eax
                  jz      @@ok
                  jmp     @@loop_cmp
@@ok:
                  pop     ecx
                  pop     esi

                  mov     eax, FileList_RecSize
                  mov     eax, [esi+eax-8]
                  jmp     @@exit
@@next:
                  pop     ecx
                  pop     esi

                  add     esi, FileList_RecSize

                  inc     edx
                  dec     edi
                  loop    @@loop_2

                  cmp     edi, 0
                  jnz     @@loop_1
                  mov     eax,-1
@@exit:
                  pop     ecx
                  pop     edx
                  pop     ebx
                  pop     esi
                  pop     edi
                  leave
                  retn 4
Get_List_FileAttr endp

RingTonesUpdate   proc near
                  push    ecx
                  push    esi
                  push    edi

                  push    offset seem_buf
                  push    0
                  push    0
                  push    1
                  push    4Ch
                  call    Cmd_RDELEM

                  push    offset str_profiles_readed
                  call    logstat
                  push    1F4h
                  call    Sleep

                  dec     seem_read_bytes
                  mov     esi, offset seem_buf
                  inc     esi
                  mov     edi, offset seem_data
                  mov     ecx, seem_read_bytes
                  rep     movsb

                  mov     edi, offset seem_data
                  mov     byte ptr [edi+01h], 2
                  mov     byte ptr [edi+02h], 2
                  mov     byte ptr [edi+0Ch], 2
                  mov     byte ptr [edi+0Dh], 2
                  mov     byte ptr [edi+17h], 2
                  mov     byte ptr [edi+18h], 2
                  mov     byte ptr [edi+22h], 2
                  mov     byte ptr [edi+23h], 2
                  mov     byte ptr [edi+2Dh], 2
                  mov     byte ptr [edi+2Eh], 2

                  push    seem_read_bytes
                  push    0
                  push    1
                  push    4Ch
                  call    Cmd_STELEM

                  push    1F4h
                  call    Sleep

                  push    offset str_profiles_updated

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -