joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47f200
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 0x47f252
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
test ebx, ebx
je 0x47f252
push ebp
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x47f246
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 0x47f260
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.0047f200
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x47f285
pop edi
ret
mov ecx, dword [esp + 0xc]
push esi
push 0x4fbbc4
push ecx
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x47f2b8
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 0x47f660
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 8]
sub esp, 8
cmp eax, 0x104
push esi
ja 0x47f76a
je 0x47f6bd
sub eax, 0x100
je 0x47f6bd
sub eax, 2
jne case.0x47f6d7.12
mov eax, dword [esp + 0x18]
cmp eax, 0xd
jne 0x47f6a1
mov eax, dword [esp + 0x20]
pop esi
mov dword [eax], 1
xor eax, eax
add esp, 8
ret 0x14
cmp eax, 9
jne case.0x47f6d7.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.0x47f6d7.12
xor edx, edx
mov dl, byte [eax + 0x47f7bc]
jmp dword [edx*4 + 0x47f7ac]
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 8
test al, al
je case.0x47f6d7.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.0x47f6d7.12
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0047f870
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.0x47f6d7.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.0x47f6d7.12
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je case.0x47f6d7.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 0x47fcf0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d80b3
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.004d1340
lea edi, [esi + 0x24]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x18], ebp
call fcn.004c6ac0
push ebp
lea ecx, [esi + 0x1108]
mov byte [esp + 0x1c], 1
mov dword [esi + 0x28], 0x4dab70
call fcn.004aff40
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 0x47fd07
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d80b3
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.004d1340
lea edi, [esi + 0x24]
xor ebp, ebp
mov ecx, edi
mov dword [esp + 0x18], ebp
call fcn.004c6ac0
push ebp
lea ecx, [esi + 0x1108]
mov byte [esp + 0x1c], 1
mov dword [esi + 0x28], 0x4dab70
call fcn.004aff40
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 0x480820
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x218
push esi
mov esi, ecx
cmp word [esi + 0x30], 0
je 0x4808a9
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4808a9
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 0x48088a
mov eax, dword [esi + 4]
push 0
push eax
call fcn.004d17f0
add esp, 0xc
pop esi
add esp, 0x218
ret
lea ecx, [esp + 8]
push ecx
mov ecx, esi
call fcn.0047feb0
mov eax, dword [esi + 4]
lea edx, [esp + 4]
push 1
push edx
push eax
call fcn.004d17f0
add esp, 0xc
pop esi
add esp, 0x218
ret
Function at 0x480a80
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 0x480ab0
push eax
mov ecx, 0x5e7150
call fcn.004b6e80
mov eax, dword [ebx + 0x1104]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebx + 0x1100]
cmp eax, esi
je 0x480ac7
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.00481980
mov ecx, eax
call fcn.00482060
mov ebp, dword [sym.imp.MSVCRT.dll_wcslen]
cmp eax, esi
mov dword [esp + 0x10], eax
jle 0x480baa
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.00481980
mov ecx, eax
call fcn.00481ff0
test eax, eax
je 0x480baa
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.00480ce0
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, 0x5e7150
call fcn.004b7000
mov eax, dword [esp + 0x10]
mov esi, edi
cmp esi, eax
jl 0x480b07
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, 0x5e7150
mov dword [esp + 0x38], 0x100
mov dword [esp + 0x3c], 0x800
call fcn.004b7000
push 0x98
call fcn.0047f2c0
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, 0x5e7150
call fcn.004b7000
push 0x8c
call fcn.0047f2c0
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, 0x5e7150
call fcn.004b7000
mov ecx, ebx
call fcn.00480920
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
Function at 0x4810b0
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.00481980
mov ecx, eax
call fcn.00481bb0
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 0x481112
call fcn.00480170
pop edi
pop esi
add esp, 0x208
ret 4
call fcn.004808e0
pop edi
pop esi
add esp, 0x208
ret 4
Function at 0x483f00
Capabilities:
Create process on windows
Create process suspended

Disassembly:
mov eax, 0x12a4
call fcn.004d2e90
mov ax, word [0x50b1d0]
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 [0x5e30f0]
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 0x4fcd00
push ecx
mov ecx, dword [esp + 0x12d0]
push str._mw:
push eax
mov eax, dword [esp + 0x12dc]
push 0x4ef860
mov ebx, edx
push edx
and dl, 2
and ebx, 0x20
push 0x4ef700
push ebp
neg dl
push 0x4ef7b4
push ecx
mov ecx, dword [esp + 0x12ec]
push 0x4ef850
sbb edx, edx
push eax
and edx, 5
push 0x4ef848
push ecx
inc edx
push 0x4ef858
push edx
push str._tp:
push 0x50b244
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 0x484049
mov eax, dword [esp + 0x14]
test eax, eax
je 0x484049
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 0x484079
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 0x484093
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 0x484750
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x24
push 1
call fcn.0040b950
add esp, 4
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [esp + 0x14], 1
jne 0x484779
mov dword [0x5e908c], 0
push esi
mov esi, str.CloseToOrder
mov ecx, dword [esi + 0x20]
push ecx
push esi
push 0x4ef3a8
call fcn.0040bd90
add esi, 0x34
add esp, 0xc
cmp esi, 0x50815c
jb 0x48477f
mov esi, 0x50817c
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
lea ecx, [esi - 0x20]
push eax
push ecx
push 0x4ef3a8
call fcn.0040bc10
add esi, 0x34
add esp, 0x10
cmp esi, 0x508218
jb 0x4847a1
call fcn.00487df0
call fcn.00484930
pop esi
add esp, 0x24
ret
Function at 0x4847e0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
mov ecx, 0x50b1e0
push ebp
push edi
call fcn.0040aa70
mov ebp, dword [sym.imp.MSVCRT.dll__snwprintf]
test eax, eax
je 0x48484c
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa]
mov word [esp + 8], 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 + 8]
push eax
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [esp + 8]
push ecx
push str.Medias
push 0x103
push 0x5ec668
call ebp
add esp, 0x10
mov eax, dword [0x507654]
xor edi, edi
push ebx
mov ebx, dword [esp + 0x218]
test eax, eax
push esi
jbe 0x484891
mov esi, 0x505ad4
test ebx, ebx
je 0x484870
mov eax, dword [esi + 0xc]
test eax, eax
je 0x484884
mov edx, dword [esi]
lea eax, [esi - 0x20]
push edx
push eax
push 0x4ef3a8
call fcn.0040bd90
add esp, 0xc
mov eax, dword [0x507654]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x484865
mov eax, dword [0x507658]
xor edi, edi
test eax, eax
jbe 0x4848d1
mov esi, 0x507168
test ebx, ebx
je 0x4848ac
mov eax, dword [esi + 8]
test eax, eax
je 0x4848c4
mov ecx, dword [esi]
mov edx, dword [esi - 4]
push ecx
lea eax, [esi - 0x24]
push edx
push eax
push 0x4ef3a8
call fcn.0040bc10
add esp, 0x10
mov eax, dword [0x507658]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x4848a1
cmp word [0x5ea5a8], 0
pop esi
pop ebx
jne 0x4848fb
push 0x60a748
push 0x4ee160
push 0x1047
push 0x5ea5a8
call ebp
add esp, 0x10
call fcn.00488430
push section..taihang
call fcn.00485090
add esp, 4
call fcn.00486ee0
call fcn.00487070
mov ecx, 0x5e0ce8
call fcn.0046ca20
call fcn.00484930
pop edi
pop ebp
add esp, 0x208
ret
Function at 0x4863f0
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 0x486535
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 0x486525
lea ecx, [esp + 0x68]
push ecx
call fcn.0048cd00
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 0x4864d5
mov edx, dword [esp + 0x694]
lea ecx, [esp + 0x270]
inc edx
push edx
push ebp
push ecx
push eax
push esi
call fcn.004863f0
add esp, 0x14
jmp 0x486525
mov eax, dword [esp + 0x1c]
test ah, 8
jne 0x486525
test byte [esp + 0x20], 3
jne 0x486525
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x486525
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 0x486525
push 0
push eax
push 0x14e
push esi
call edi
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x48644a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x670
ret

Function at 0x489260
Capabilities:
Get common file path

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0xc]
test esi, esi
mov dword [esp + 4], 0
je 0x48929c
cmp word [esi], 0
je 0x48929c
call fcn.00489240
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 0x4892b9
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 0x4892b9
xor eax, eax
pop esi
pop ecx
ret 8
mov eax, dword [esp + 4]
pop esi
pop ecx
ret 8

Function at 0x4896b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4d8493
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.004d1340
lea edi, [esi + 0x24]
mov dword [esp + 0x14], 0
mov ecx, edi
call fcn.004b4b10
lea ecx, [esi + 0x30]
mov byte [esp + 0x14], 1
call fcn.00410080
mov dword [edi], 0x4dffd8
mov ecx, 0x412
xor eax, eax
lea edi, [esi + 0x56e4]
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 0x489750
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d84cf
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.004102a0
mov ecx, esi
mov byte [esp + 0x18], 0
neg ecx
sbb ecx, ecx
and ecx, edi
call fcn.004b4b40
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004d1380
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret

Function at 0x489ba0
Capabilities:
Hide graphical window

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x489bd8
push edi
lea edi, [esi + 0x30]
push 2
mov ecx, edi
mov dword [esi + 0x28], 1
call fcn.00410fa0
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.00410cf0
pop edi
pop esi
ret
Function at 0x48a830
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
call fcn.0048ab90
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.0041c420
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 0x4ee160
push 0x824
push edx
call ebp
mov dx, word [0x50b1d0]
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 0x4ee160
push 0x104
push edx
call ebp
mov esi, dword [esi + 4]
add esp, 0x10
mov ecx, ebx
mov dword [ebx + 0x269c], 0x48a940
mov dword [ebx + 0x2698], esi
call fcn.0041c350
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret

Function at 0x48adc0
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x1084
call fcn.004d2e90
mov edx, dword [esp + 0x1088]
xor eax, eax
test edx, edx
push esi
je 0x48aec5
mov esi, dword [esp + 0x1090]
test esi, esi
je 0x48aec5
mov edx, dword [esp + 0x1094]
test edx, edx
je 0x48aec5
mov eax, dword [0x5e27b0]
test eax, eax
je 0x48aeb8
call fcn.0042c330
test eax, eax
jne 0x48aeb8
push edi
mov ecx, 0x411
lea edi, [esp + 0x46]
mov word [esp + 0x44], ax
rep stosd dword es:[edi], eax
push esi
push 0x4ef6d8
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], 0x50b244
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
pop edi
je 0x48aea9
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.00423e30
mov ecx, eax
call fcn.00425b60
pop esi
add esp, 0x1084
ret 0x10