joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47ecf0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xc]
push ebx
push esi
push edi
mov edi, dword [esp + 0x1c]
and ecx, 0xffff
push eax
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
test esi, esi
je 0x47ed42
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
test ebx, ebx
je 0x47ed42
push ebp
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x47ed36
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp], eax
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
pop ebp
pop edi
pop esi
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret

Function at 0x47ed50
Capabilities:
Write file on windows

Disassembly:
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push edi
push eax
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.0047ecf0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x47ed75
pop edi
ret
mov ecx, dword [esp + 0xc]
push esi
push 0x4fbb34
push ecx
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x47eda8
mov edx, dword [esp + 0x18]
push esi
push 1
push edx
push edi
call dword [sym.imp.MSVCRT.dll_fwrite]
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x14
pop esi
mov eax, 1
pop edi
ret

Function at 0x47f150
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 8]
sub esp, 8
cmp eax, 0x104
push esi
ja 0x47f25a
je 0x47f1ad
sub eax, 0x100
je 0x47f1ad
sub eax, 2
jne case.0x47f1c7.12
mov eax, dword [esp + 0x18]
cmp eax, 0xd
jne 0x47f191
mov eax, dword [esp + 0x20]
pop esi
mov dword [eax], 1
xor eax, eax
add esp, 8
ret 0x14
cmp eax, 9
jne case.0x47f1c7.12
mov ecx, dword [esp + 0x20]
xor eax, eax
pop esi
mov dword [ecx], 1
add esp, 8
ret 0x14
mov esi, dword [esp + 0x18]
lea eax, [esi - 9]
cmp eax, 0xb2
ja case.0x47f1c7.12
xor edx, edx
mov dl, byte [eax + 0x47f2ac]
jmp dword [edx*4 + 0x47f29c]
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je case.0x47f1c7.12
mov eax, dword [esp + 0x20]
pop esi
mov dword [eax], 1
xor eax, eax
add esp, 8
ret 0x14
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je case.0x47f1c7.12
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0047f360
mov edx, dword [esp + 0x24]
add esp, 4
xor eax, eax
mov dword [edx], 1
pop esi
add esp, 8
ret 0x14
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
jne case.0x47f1c7.12
mov eax, dword [esp + 0x10]
push eax
push esi
push 0x4401
push 2
push eax
call dword [sym.imp.USER32.dll_GetAncestor]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
pop esi
add esp, 8
ret 0x14
cmp eax, 0x205
jne case.0x47f1c7.12
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je case.0x47f1c7.12
lea eax, [esp + 4]
mov dword [esp + 4], 0
push eax
push 0
push 0x437
push ecx
mov dword [esp + 0x18], 0xffffffff
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
pop esi
add esp, 8
ret 0x14
Function at 0x47f7e0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d7b53
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.004d0de0
lea edi, [esi + 0x24]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x18], ebp
call fcn.004c6560
push ebp
lea ecx, [esi + 0x1108]
mov byte [esp + 0x1c], 1
mov dword [esi + 0x28], 0x4dab70
call fcn.004af750
mov eax, 3
mov dword [edi], 0x4dffac
mov dword [esi + 0xb4], eax
mov dword [esi + 0x94], eax
mov ecx, 0xa
xor eax, eax
lea edi, [esi + 0x30]
mov dword [esi], 0x4dff98
mov dword [esi + 0x28], 0x4dff88
mov dword [esi + 0xa0], ebp
mov dword [esi + 0x68], ebp
mov dword [esi + 0x7c], ebp
mov dword [esi + 0x80], ebp
mov dword [esi + 0xa8], ebp
mov dword [esi + 0xa4], ebp
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x8c], ebp
mov dword [esi + 0x90], 0xa8a8a8
mov dword [esi + 0x84], ebp
mov dword [esi + 0xac], 5
mov dword [esi + 0xb0], ebp
mov dword [esi + 0x5c], ebp
mov dword [esi + 0x58], ebp
mov dword [esi + 0x74], 0x12
mov dword [esi + 0x1100], ebp
mov dword [esi + 0x1104], ebp
mov dword [esi + 0x64], ebp
mov dword [esi + 0x78], 1
mov dword [esi + 0x60], ebp
rep stosd dword es:[edi], eax
mov ecx, 0x412
lea edi, [esi + 0xb8]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x98], ebp
mov dword [esi + 0x9c], ebp
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x47f7f7
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d7b53
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.004d0de0
lea edi, [esi + 0x24]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x18], ebp
call fcn.004c6560
push ebp
lea ecx, [esi + 0x1108]
mov byte [esp + 0x1c], 1
mov dword [esi + 0x28], 0x4dab70
call fcn.004af750
mov eax, 3
mov dword [edi], 0x4dffac
mov dword [esi + 0xb4], eax
mov dword [esi + 0x94], eax
mov ecx, 0xa
xor eax, eax
lea edi, [esi + 0x30]
mov dword [esi], 0x4dff98
mov dword [esi + 0x28], 0x4dff88
mov dword [esi + 0xa0], ebp
mov dword [esi + 0x68], ebp
mov dword [esi + 0x7c], ebp
mov dword [esi + 0x80], ebp
mov dword [esi + 0xa8], ebp
mov dword [esi + 0xa4], ebp
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x8c], ebp
mov dword [esi + 0x90], 0xa8a8a8
mov dword [esi + 0x84], ebp
mov dword [esi + 0xac], 5
mov dword [esi + 0xb0], ebp
mov dword [esi + 0x5c], ebp
mov dword [esi + 0x58], ebp
mov dword [esi + 0x74], 0x12
mov dword [esi + 0x1100], ebp
mov dword [esi + 0x1104], ebp
mov dword [esi + 0x64], ebp
mov dword [esi + 0x78], 1
mov dword [esi + 0x60], ebp
rep stosd dword es:[edi], eax
mov ecx, 0x412
lea edi, [esi + 0xb8]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x98], ebp
mov dword [esi + 0x9c], ebp
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x480310
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x218
push esi
mov esi, ecx
cmp word [esi + 0x30], 0
je 0x480399
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x480399
mov edx, dword [esi + 0x6c]
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x1a]
mov word [esp + 0x18], 0
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
push 0x103
push ecx
push edx
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp word [esp + 0x18], 0
pop edi
push 1
jne 0x48037a
mov eax, dword [esi + 4]
push 0
push eax
call fcn.004d1290
add esp, 0xc
pop esi
add esp, 0x218
ret
lea ecx, [esp + 8]
push ecx
mov ecx, esi
call fcn.0047f9a0
mov eax, dword [esi + 4]
lea edx, [esp + 4]
push 1
push edx
push eax
call fcn.004d1290
add esp, 0xc
pop esi
add esp, 0x218
ret
Function at 0x480570
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x26c
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x1104]
xor esi, esi
cmp eax, esi
push edi
je 0x4805a0
push eax
mov ecx, 0x5e7100
call fcn.004b6700
mov eax, dword [ebx + 0x1104]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebx + 0x1100]
cmp eax, esi
je 0x4805b7
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
mov dword [ebx + 0x1100], esi
push esi
push esi
push 0x21
push 0x10
push 0x10
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov dword [ebx + 0x1100], eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 1
mov dword [ebx + 0x1104], eax
call fcn.00481470
mov ecx, eax
call fcn.00481b50
mov ebp, dword [sym.imp.MSVCRT.dll_wcslen]
cmp eax, esi
mov dword [esp + 0x10], eax
jle 0x48069a
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x76]
mov word [esp + 0x74], 0
rep stosd dword es:[edi], eax
push 1
lea ecx, [esp + 0x78]
push 0x103
push ecx
push esi
stosw word es:[edi], ax
call fcn.00481470
mov ecx, eax
call fcn.00481ae0
test eax, eax
je 0x48069a
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x44]
lea edx, [esp + 0x74]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x74]
lea edi, [esi + 1]
push eax
mov dword [esp + 0x48], 0x30
mov dword [esp + 0x4c], 0x42
mov dword [esp + 0x58], edi
mov dword [esp + 0x6c], edx
call ebp
add esp, 4
mov ecx, ebx
mov dword [esp + 0x6c], eax
push esi
call fcn.004807d0
mov edx, dword [ebx + 0x1104]
push 0
push 0
push esi
lea ecx, [esp + 0x50]
push 0
push ecx
push 1
push esi
push edx
mov ecx, 0x5e7100
call fcn.004b6880
mov eax, dword [esp + 0x10]
mov esi, edi
cmp esi, eax
jl 0x4805f7
xor eax, eax
mov ecx, 0xc
push eax
lea edi, [esp + 0x18]
push eax
push esi
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x1104]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x30
push eax
push 1
push esi
push ecx
mov ecx, 0x5e7100
mov dword [esp + 0x38], 0x100
mov dword [esp + 0x3c], 0x800
call fcn.004b6880
push 0x98
call fcn.0047edb0
mov edx, eax
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
push edx
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], 0x43
mov dword [esp + 0x2c], 0x1001
mov dword [esp + 0x40], edx
call ebp
mov edx, dword [0x60a530]
add esp, 8
neg edx
sbb edx, edx
push 0
mov dword [esp + 0x40], eax
push 0
and edx, 8
push 0xffffffffffffffff
lea eax, [esp + 0x20]
push 0
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 0x1104]
push eax
lea ecx, [esi + 1]
push 1
push ecx
push edx
mov ecx, 0x5e7100
call fcn.004b6880
push 0x8c
call fcn.0047edb0
mov edx, eax
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
push edx
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], 0x42
mov dword [esp + 0x2c], 0x1000
mov dword [esp + 0x40], edx
call ebp
add esp, 8
mov ecx, dword [ebx + 0x1104]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x14]
push 0
push 0
push 0xffffffffffffffff
push 0
push eax
add esi, 2
push 1
push esi
push ecx
mov ecx, 0x5e7100
call fcn.004b6880
mov ecx, ebx
call fcn.00480410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
Function at 0x480ba0
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x208
mov eax, dword [esp + 0x20c]
push esi
push edi
mov esi, ecx
push eax
call fcn.00481470
mov ecx, eax
call fcn.004816a0
mov edx, dword [esi + 0x6c]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa]
mov word [esp + 8], 0
push 0x103
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc]
push ecx
push edx
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp word [esp + 8], 0
mov ecx, esi
je 0x480c02
call fcn.0047fc60
pop edi
pop esi
add esp, 0x208
ret 4
call fcn.004803d0
pop edi
pop esi
add esp, 0x208
ret 4
Function at 0x483d70
Capabilities:
Create process on windows
Create process suspended

Disassembly:
mov eax, 0x12a4
call fcn.004d2930
mov ax, word [0x50b180]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov word [esp + 0x64], ax
mov ecx, 0x493
xor eax, eax
lea edi, [esp + 0x66]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x21c]
mov edx, dword [esp + 0x12cc]
stosw word es:[edi], ax
push ecx
mov ecx, dword [0x5e30a0]
lea eax, [esi + 0x14]
push str._tmp:
push eax
xor eax, eax
mov ah, byte [esi + 0x10]
mov ebp, dword [esp + 0x12d4]
mov al, byte [esi + 0xc]
push 0x4fcc80
push ecx
mov ecx, dword [esp + 0x12d0]
push str._mw:
push eax
mov eax, dword [esp + 0x12dc]
push 0x4ef854
mov ebx, edx
push edx
and dl, 2
and ebx, 0x20
push 0x4ef6f4
push ebp
neg dl
push 0x4ef7a8
push ecx
mov ecx, dword [esp + 0x12ec]
push 0x4ef844
sbb edx, edx
push eax
and edx, 5
push 0x4ef83c
push ecx
inc edx
push 0x4ef84c
push edx
push str._tp:
push 0x50b1f4
push str.__s___s_d__s_d__s_d__s_d__s_d__s_d__s_d__s_d__s__s___s__s_
lea edx, [esp + 0xbc]
push 0x927
push edx
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x84]
add esp, 0x60
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
mov dword [esp + 0x18], eax
push ecx
push edx
push eax
mov dword [esp + 0x28], eax
push eax
mov eax, ebx
mov dword [esp + 0x30], 0x44
neg eax
sbb eax, eax
mov dword [esp + 0x5c], 0x80
and eax, 0x40
push eax
push 1
push 0
lea ecx, [esp + 0x80]
push 0
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov edi, eax
test edi, edi
je 0x483eb9
mov eax, dword [esp + 0x14]
test eax, eax
je 0x483eb9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
cmp ebp, 1
mov ebp, dword [esp + 0x18]
jne 0x483ee9
xor eax, eax
mov dword [esi + 0x424], edx
test ebx, ebx
sete al
mov dword [esi + 0x430], eax
mov dword [esi + 0x428], ebp
mov dword [esi + 0x42c], ecx
mov eax, dword [esp + 0x12c4]
test eax, eax
je 0x483f03
mov dword [eax], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12a4
ret 0x18

Function at 0x4845c0
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x24
push 1
call fcn.0040b8c0
add esp, 4
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [esp + 0x14], 1
jne 0x4845e9
mov dword [0x5e908c], 0
push esi
mov esi, str.CloseToOrder
mov ecx, dword [esi + 0x20]
push ecx
push esi
push 0x4ef39c
call fcn.0040bd00
add esi, 0x34
add esp, 0xc
cmp esi, 0x5081a4
jb 0x4845ef
mov esi, 0x5081c4
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
lea ecx, [esi - 0x20]
push eax
push ecx
push 0x4ef39c
call fcn.0040bb80
add esi, 0x34
add esp, 0x10
cmp esi, 0x508260
jb 0x484611
call fcn.004c7040
call fcn.00484770
pop esi
add esp, 0x24
ret
Function at 0x484650
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
mov ecx, 0x50b190
push ebx
push esi
push edi
call fcn.0040a9f0
test eax, eax
je 0x4846bb
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x82
xor eax, eax
mov edi, 0x5ec668
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc]
push eax
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [esp + 0xc]
push ecx
push str.Medias
push 0x103
push 0x5ec668
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
mov eax, dword [0x50769c]
mov ebx, dword [esp + 0x218]
xor edi, edi
test eax, eax
jbe 0x4846fe
mov esi, 0x505b1c
test ebx, ebx
je 0x4846dd
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4846f1
mov edx, dword [esi]
lea eax, [esi - 0x20]
push edx
push eax
push 0x4ef39c
call fcn.0040bd00
add esp, 0xc
mov eax, dword [0x50769c]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x4846d2
mov eax, dword [0x5076a0]
xor edi, edi
test eax, eax
jbe 0x48473e
mov esi, 0x5071b0
test ebx, ebx
je 0x484719
mov eax, dword [esi + 8]
test eax, eax
je 0x484731
mov ecx, dword [esi]
mov edx, dword [esi - 4]
push ecx
lea eax, [esi - 0x24]
push edx
push eax
push 0x4ef39c
call fcn.0040bb80
add esp, 0x10
mov eax, dword [0x5076a0]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x48470e
push section..taihang
call fcn.00484ed0
add esp, 4
call fcn.00486d20
call fcn.00486eb0
mov ecx, 0x5e0c98
call fcn.0046c600
call fcn.00484770
pop edi
pop esi
pop ebx
add esp, 0x208
ret
Function at 0x486230
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x670
mov ecx, dword [esp + 0x678]
push ebx
lea eax, [esp + 0x5c]
push ecx
mov dword [esp + 0xc], 0x30
mov dword [esp + 0x10], 0x147
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], 0x21
call dword [sym.imp.USER32.dll_GetMenuItemCount]
xor ebx, ebx
mov dword [esp + 4], eax
test eax, eax
jle 0x486375
push ebp
mov ebp, dword [esp + 0x688]
push esi
mov esi, dword [esp + 0x680]
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x688]
lea edx, [esp + 0x14]
push edx
push 0x400
push ebx
push eax
mov word [esp + 0x78], 0
mov dword [esp + 0x4c], 0x104
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x486365
lea ecx, [esp + 0x68]
push ecx
call fcn.0048c4e0
mov eax, dword [esp + 0x690]
add esp, 4
lea edx, [esp + 0x68]
lea ecx, [esp + 0x270]
push edx
push eax
push str._s____s
push 0x208
push ecx
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov eax, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x486315
mov edx, dword [esp + 0x694]
lea ecx, [esp + 0x270]
inc edx
push edx
push ebp
push ecx
push eax
push esi
call fcn.00486230
add esp, 0x14
jmp 0x486365
mov eax, dword [esp + 0x1c]
test ah, 8
jne 0x486365
test byte [esp + 0x20], 3
jne 0x486365
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x486365
mov dword [esp + 0x64], eax
lea eax, [esp + 0x44]
push eax
push 0
lea edx, [esp + 0x278]
push 0x40b
push esi
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x5c], edx
call edi
cmp ebp, dword [esp + 0x24]
jne 0x486365
push 0
push eax
push 0x14e
push esi
call edi
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x48628a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x670
ret

Function at 0x488a70
Capabilities:
Get common file path

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0xc]
test esi, esi
mov dword [esp + 4], 0
je 0x488aac
cmp word [esi], 0
je 0x488aac
call fcn.00488a50
mov ecx, dword [eax]
lea edx, [esp + 4]
push 0
push edx
push 0
push esi
push 0
push 0
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x488ac9
xor eax, eax
pop esi
pop ecx
ret 8
mov ecx, dword [esp + 0x10]
lea eax, [esp + 4]
push eax
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
je 0x488ac9
xor eax, eax
pop esi
pop ecx
ret 8
mov eax, dword [esp + 4]
pop esi
pop ecx
ret 8

Function at 0x488ec0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4d7f13
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
push edi
mov dword [esp + 8], esi
call fcn.004d0de0
lea edi, [esi + 0x24]
mov dword [esp + 0x14], 0
mov ecx, edi
call fcn.004b4330
lea ecx, [esi + 0x30]
mov byte [esp + 0x14], 1
call fcn.0040ffc0
mov dword [edi], 0x4dffd8
mov ecx, 0x412
xor eax, eax
lea edi, [esi + 0x56e0]
mov dword [esi], 0x4dffcc
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x488f60
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d7f4f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
lea edi, [esi + 0x24]
mov dword [esi], 0x4dffcc
mov dword [edi], 0x4dffd8
lea ecx, [esi + 0x30]
mov dword [esp + 0x18], 1
call fcn.004101d0
mov ecx, esi
mov byte [esp + 0x18], 0
neg ecx
sbb ecx, ecx
and ecx, edi
call fcn.004b4360
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004d0e20
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret

Function at 0x4893e0
Capabilities:
Hide graphical window

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x489418
push edi
lea edi, [esi + 0x30]
push 2
mov ecx, edi
mov dword [esi + 0x28], 1
call fcn.00410ed0
mov eax, dword [esi + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 1
mov ecx, edi
call fcn.00410c20
pop edi
pop esi
ret
Function at 0x48a070
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
call fcn.0048a3d0
mov eax, dword [esi + 4]
push 0x3f0
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea ebx, [esi + 0x166c]
mov ecx, ebx
call fcn.0041c2c0
lea edx, [ebx + 0x5d4e0]
mov ecx, 0x412
xor eax, eax
mov edi, edx
mov ebp, dword [sym.imp.MSVCRT.dll__snwprintf]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x214]
push ecx
push 0x4ef254
push 0x824
push edx
call ebp
mov dx, word [0x50b180]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x22]
mov word [esp + 0x20], dx
add esp, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x10]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esi + 0x125c]
lea edx, [esp + 0x10]
push ecx
push edx
lea eax, [esi + 0xc]
push str._s_s.zip
push 0x103
push eax
call ebp
lea edx, [ebx + 0x5d0d0]
mov ecx, 0x82
xor eax, eax
mov edi, edx
add esp, 0x14
rep stosd dword es:[edi], eax
lea eax, [esi + 0xc]
push eax
push 0x4ef254
push 0x104
push edx
call ebp
mov esi, dword [esi + 4]
add esp, 0x10
mov ecx, ebx
mov dword [ebx + 0x269c], 0x48a180
mov dword [ebx + 0x2698], esi
call fcn.0041c1f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret

Function at 0x48a600
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x1084
call fcn.004d2930
mov edx, dword [esp + 0x1088]
xor eax, eax
test edx, edx
push esi
je 0x48a705
mov esi, dword [esp + 0x1090]
test esi, esi
je 0x48a705
mov edx, dword [esp + 0x1094]
test edx, edx
je 0x48a705
mov eax, dword [0x5e2760]
test eax, eax
je 0x48a6f8
call fcn.0042c190
test eax, eax
jne 0x48a6f8
push edi
mov ecx, 0x411
lea edi, [esp + 0x46]
mov word [esp + 0x44], ax
rep stosd dword es:[edi], eax
push esi
push 0x4ef6cc
push 8
push str._tp:
stosw word es:[edi], ax
push str._s_d__s__s_
lea eax, [esp + 0x58]
push 0x823
push eax
call dword [sym.imp.MSVCRT.dll__snwprintf]
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x28]
add esp, 0x1c
rep stosd dword es:[edi], eax
lea edx, [esp + 8]
lea ecx, [esp + 0x44]
push edx
mov dword [esp + 0xc], 0x3c
mov dword [esp + 0x10], 0x40
mov dword [esp + 0x1c], 0x50b1f4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
pop edi
je 0x48a6e9
mov eax, dword [esp + 0x3c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop esi
add esp, 0x1084
ret 0x10
push esi
call fcn.00423c70
mov ecx, eax
call fcn.004259b0
pop esi
add esp, 0x1084
ret 0x10