joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47c0d0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4d21bf
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.004cb4b0
lea ebp, [esi + 0x24]
xor edi, edi
mov ecx, ebp
mov dword [esp + 0x18], edi
call fcn.004c2000
lea ecx, [esi + 0x98]
mov byte [esp + 0x18], 1
mov dword [esi + 0x28], 0x4d4b50
call fcn.00474b10
lea ecx, [esi + 0xb0]
mov byte [esp + 0x18], 2
call fcn.00474b10
push edi
lea ecx, [esi + 0x1130]
mov byte [esp + 0x1c], 3
call fcn.004ab480
mov dword [esi + 0xc8], edi
mov dword [esi + 0x68], edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xcc], edi
mov dword [esi + 0x6c], edi
mov dword [esi + 0x8c], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0xd8], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x1128], edi
mov dword [esi + 0x112c], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edi
mov ecx, 0xa
xor eax, eax
lea edi, [esi + 0x30]
mov dword [esi], 0x4d5a60
mov dword [ebp], 0x4d5a5c
mov dword [esi + 0x28], 0x4d5a4c
mov dword [esi + 0xdc], 3
mov dword [esi + 0x94], 3
mov dword [esi + 0x90], 0xa8a8a8
mov dword [esi + 0xd4], 5
mov dword [esi + 0x74], 0x12
mov dword [esi + 0x78], 1
rep stosd dword es:[edi], eax
mov ecx, 0x412
lea edi, [esi + 0xe0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x10
ret

Function at 0x47c0e7
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4d21bf
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.004cb4b0
lea ebp, [esi + 0x24]
xor edi, edi
mov ecx, ebp
mov dword [esp + 0x18], edi
call fcn.004c2000
lea ecx, [esi + 0x98]
mov byte [esp + 0x18], 1
mov dword [esi + 0x28], 0x4d4b50
call fcn.00474b10
lea ecx, [esi + 0xb0]
mov byte [esp + 0x18], 2
call fcn.00474b10
push edi
lea ecx, [esi + 0x1130]
mov byte [esp + 0x1c], 3
call fcn.004ab480
mov dword [esi + 0xc8], edi
mov dword [esi + 0x68], edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edi
mov dword [esi + 0xd0], edi
mov dword [esi + 0xcc], edi
mov dword [esi + 0x6c], edi
mov dword [esi + 0x8c], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0xd8], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x1128], edi
mov dword [esi + 0x112c], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edi
mov ecx, 0xa
xor eax, eax
lea edi, [esi + 0x30]
mov dword [esi], 0x4d5a60
mov dword [ebp], 0x4d5a5c
mov dword [esi + 0x28], 0x4d5a4c
mov dword [esi + 0xdc], 3
mov dword [esi + 0x94], 3
mov dword [esi + 0x90], 0xa8a8a8
mov dword [esi + 0xd4], 5
mov dword [esi + 0x74], 0x12
mov dword [esi + 0x78], 1
rep stosd dword es:[edi], eax
mov ecx, 0x412
lea edi, [esi + 0xe0]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x47cc30
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x218
push esi
mov esi, ecx
cmp word [esi + 0x30], 0
je 0x47ccb9
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x47ccb9
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 0x47cc9a
mov eax, dword [esi + 4]
push 0
push eax
call fcn.004cb960
add esp, 0xc
pop esi
add esp, 0x218
ret
lea ecx, [esp + 8]
push ecx
mov ecx, esi
call fcn.0047c2c0
mov eax, dword [esi + 4]
lea edx, [esp + 4]
push 1
push edx
push eax
call fcn.004cb960
add esp, 0xc
pop esi
add esp, 0x218
ret
Function at 0x47ce90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x26c
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x112c]
xor esi, esi
cmp eax, esi
push edi
je 0x47cec0
push eax
mov ecx, 0x5daf68
call fcn.004b2260
mov eax, dword [ebx + 0x112c]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebx + 0x1128]
cmp eax, esi
je 0x47ced7
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
mov dword [ebx + 0x1128], esi
push esi
push esi
push 0x21
push 0x10
push 0x10
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov dword [ebx + 0x1128], eax
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push 1
mov dword [ebx + 0x112c], eax
call fcn.0047dd50
mov ecx, eax
call fcn.0047e430
mov ebp, dword [sym.imp.MSVCRT.dll_wcslen]
cmp eax, esi
mov dword [esp + 0x10], eax
jle 0x47cfba
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.0047dd50
mov ecx, eax
call fcn.0047e3c0
test eax, eax
je 0x47cfba
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.0047d0f0
mov edx, dword [ebx + 0x112c]
push 0
push 0
push esi
lea ecx, [esp + 0x50]
push 0
push ecx
push 1
push esi
push edx
mov ecx, 0x5daf68
call fcn.004b23e0
mov eax, dword [esp + 0x10]
mov esi, edi
cmp esi, eax
jl 0x47cf17
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 + 0x112c]
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x30
push eax
push 1
push esi
push ecx
mov ecx, 0x5daf68
mov dword [esp + 0x38], 0x100
mov dword [esp + 0x3c], 0x800
call fcn.004b23e0
push 0x98
call fcn.0047b6a0
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 [0x5fd530]
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 + 0x112c]
push eax
lea ecx, [esi + 1]
push 1
push ecx
push edx
mov ecx, 0x5daf68
call fcn.004b23e0
push 0x8c
call fcn.0047b6a0
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 + 0x112c]
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, 0x5daf68
call fcn.004b23e0
mov ecx, ebx
call fcn.0047cd30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
Function at 0x47d4c0
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.0047dd50
mov ecx, eax
call fcn.0047df80
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 0x47d522
call fcn.0047c570
pop edi
pop esi
add esp, 0x208
ret 4
call fcn.0047ccf0
pop edi
pop esi
add esp, 0x208
ret 4
Function at 0x480650
Capabilities:
Create process on windows
Create process suspended

Disassembly:
mov eax, 0x12a4
call fcn.004cd000
mov ax, word [0x4fff00]
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 [0x5d7550]
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 0x4f1be4
push ecx
mov ecx, dword [esp + 0x12d0]
push str._mw:
push eax
mov eax, dword [esp + 0x12dc]
push 0x4e4fc0
mov ebx, edx
push edx
and dl, 2
and ebx, 0x20
push 0x4e4e60
push ebp
neg dl
push 0x4e4f14
push ecx
mov ecx, dword [esp + 0x12ec]
push 0x4e4fb0
sbb edx, edx
push eax
and edx, 5
push 0x4e4fa8
push ecx
inc edx
push 0x4e4fb8
push edx
push str._tp:
push 0x4fff70
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 0x480799
mov eax, dword [esp + 0x14]
test eax, eax
je 0x480799
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 0x4807c9
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 0x4807e3
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 0x4810b0
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x24
push 1
call fcn.0040b7a0
add esp, 4
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [esp + 0x14], 1
jne 0x4810d9
mov dword [0x5dc08c], 0
push esi
mov esi, str.CloseToOrder
mov ecx, dword [esi + 0x20]
push ecx
push esi
push 0x4e4b08
call fcn.0040bbe0
add esi, 0x34
add esp, 0xc
cmp esi, 0x4fcfbc
jb 0x4810df
mov esi, 0x4fcfdc
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
lea ecx, [esi - 0x20]
push eax
push ecx
push 0x4e4b08
call fcn.0040ba60
add esi, 0x34
add esp, 0x10
cmp esi, 0x4fd078
jb 0x481101
call fcn.004846f0
call fcn.00481260
pop esi
add esp, 0x24
ret
Function at 0x481140
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
mov ecx, 0x4fff10
push ebx
push esi
push edi
call fcn.0040a960
test eax, eax
je 0x4811ab
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, 0x5df668
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 0x5df668
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x10
mov eax, dword [0x4fc4b4]
mov ebx, dword [esp + 0x218]
xor edi, edi
test eax, eax
jbe 0x4811ee
mov esi, 0x4fa934
test ebx, ebx
je 0x4811cd
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4811e1
mov edx, dword [esi]
lea eax, [esi - 0x20]
push edx
push eax
push 0x4e4b08
call fcn.0040bbe0
add esp, 0xc
mov eax, dword [0x4fc4b4]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x4811c2
mov eax, dword [0x4fc4b8]
xor edi, edi
test eax, eax
jbe 0x48122e
mov esi, 0x4fbfc8
test ebx, ebx
je 0x481209
mov eax, dword [esi + 8]
test eax, eax
je 0x481221
mov ecx, dword [esi]
mov edx, dword [esi - 4]
push ecx
lea eax, [esi - 0x24]
push edx
push eax
push 0x4e4b08
call fcn.0040ba60
add esp, 0x10
mov eax, dword [0x4fc4b8]
inc edi
add esi, 0x34
cmp edi, eax
jb 0x4811fe
push section..taihang
call fcn.004819a0
add esp, 4
call fcn.004837e0
call fcn.00483970
mov ecx, 0x5d5150
call fcn.0046a5f0
call fcn.00481260
pop edi
pop esi
pop ebx
add esp, 0x208
ret
Function at 0x482cf0
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 0x482e35
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 0x482e25
lea ecx, [esp + 0x68]
push ecx
call fcn.00489020
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 0x482dd5
mov edx, dword [esp + 0x694]
lea ecx, [esp + 0x270]
inc edx
push edx
push ebp
push ecx
push eax
push esi
call fcn.00482cf0
add esp, 0x14
jmp 0x482e25
mov eax, dword [esp + 0x1c]
test ah, 8
jne 0x482e25
test byte [esp + 0x20], 3
jne 0x482e25
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x482e25
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 0x482e25
push 0
push eax
push 0x14e
push esi
call edi
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x482d4a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x670
ret

Function at 0x485550
Capabilities:
Get common file path

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0xc]
push edi
mov edi, ecx
test esi, esi
mov dword [esp + 8], 0
je 0x48559a
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
add esp, 4
test eax, eax
je 0x48559a
mov ecx, edi
call fcn.00485530
mov ecx, dword [eax]
lea edx, [esp + 8]
push 0
push edx
push 0
push esi
push 0
push 0
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x4855b8
pop edi
xor eax, eax
pop esi
pop ecx
ret 8
mov ecx, dword [esp + 0x14]
lea eax, [esp + 8]
push eax
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
je 0x4855b8
pop edi
xor eax, eax
pop esi
pop ecx
ret 8
mov eax, dword [esp + 8]
pop edi
pop esi
pop ecx
ret 8

Function at 0x4859b0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4d25a3
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.004cb4b0
lea edi, [esi + 0x24]
mov dword [esp + 0x14], 0
mov ecx, edi
call fcn.004aff00
lea ecx, [esi + 0x30]
mov byte [esp + 0x14], 1
call fcn.0040fe00
mov dword [edi], 0x4d5aa0
mov ecx, 0x412
xor eax, eax
lea edi, [esi + 0x56e0]
mov dword [esi], 0x4d5a94
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 0x485a50
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x4d25df
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], 0x4d5a94
mov dword [edi], 0x4d5aa0
lea ecx, [esi + 0x30]
mov dword [esp + 0x18], 1
call fcn.00410010
mov ecx, esi
mov byte [esp + 0x18], 0
neg ecx
sbb ecx, ecx
and ecx, edi
call fcn.004aff30
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004cb4f0
mov ecx, dword [esp + 0x10]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret

Function at 0x485ea0
Capabilities:
Hide graphical window

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

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
push edi
mov esi, ecx
push 0
call fcn.00486e80
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.0041bfa0
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 0x4e49c0
push 0x824
push edx
call ebp
mov dx, word [0x4fff00]
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 0x4e49c0
push 0x104
push edx
call ebp
mov esi, dword [esi + 4]
add esp, 0x10
mov ecx, ebx
mov dword [ebx + 0x269c], 0x486c30
mov dword [ebx + 0x2698], esi
call fcn.0041bed0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret

Function at 0x4870b0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x410
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x212]
mov word [esp + 0x210], si
push esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x214]
push 0x1a
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x48712f
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xa]
mov word [esp + 8], si
rep stosd dword es:[edi], eax
lea ecx, [esp + 8]
push 0x104
push ecx
push esi
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x210]
lea eax, [esp + 8]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
lea ecx, [esp + 8]
cmp eax, ecx
mov eax, 1
je 0x487131
mov eax, esi
pop edi
pop esi
add esp, 0x410
ret
Function at 0x487140
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x1084
call fcn.004cd000
mov edx, dword [esp + 0x1088]
xor eax, eax
test edx, edx
push esi
je 0x487245
mov esi, dword [esp + 0x1090]
test esi, esi
je 0x487245
mov edx, dword [esp + 0x1094]
test edx, edx
je 0x487245
mov eax, dword [0x5d6c18]
test eax, eax
je 0x487238
call fcn.004870b0
test eax, eax
jne 0x487238
push edi
mov ecx, 0x411
lea edi, [esp + 0x46]
mov word [esp + 0x44], ax
rep stosd dword es:[edi], eax
push esi
push 0x4e4e38
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], 0x4fff70
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], str.runas
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
pop edi
je 0x487229
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.00423950
mov ecx, eax
call fcn.00425670
pop esi
add esp, 0x1084
ret 0x10

Function at 0x487af0
Capabilities:
Create process on windows

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x410
test edx, edx
push edi
jne 0x487b0b
xor eax, eax
pop edi
add esp, 0x410
ret 4
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 6]
mov word [esp + 4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [edx + 0xc34]
push 0x4fff00
lea ecx, [esp + 8]
push eax
push ecx
mov ecx, edx
call fcn.004880b0
mov ecx, 0x4fff10
call fcn.0040a960
test eax, eax
je 0x487bd9
call fcn.0048bb30
test eax, eax
jne 0x487bd9
mov dx, word [0x4fff00]
mov ecx, 0x81
lea edi, [esp + 0x20e]
mov word [esp + 0x20c], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
lea eax, [esp + 8]
push 0x4e4e60
push eax
push 0x4e4e38
push 8
push str._tp:
push str._s_d__s__s___s_d
lea ecx, [esp + 0x228]
push 0x103
push ecx
call dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x24
lea edx, [esp + 0x20c]
push 5
push 0
push edx
push 0x4fff70
push str.runas
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jae 0x487be8
xor eax, eax
pop edi
add esp, 0x410
ret 4
lea eax, [esp + 4]
push 1
push eax
call fcn.00433960
add esp, 8
mov eax, 1
pop edi
add esp, 0x410
ret 4
Function at 0x4882a0
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x80
push ebx
mov ebx, ecx
push edi
mov eax, dword [ebx + 4]
test eax, eax
jne 0x488365
push 0
mov ecx, 0x4fff10
call fcn.0040ab40
mov edi, eax
test edi, edi
je 0x488365
push esi
push 0x5c
push edi
call dword [sym.imp.MSVCRT.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x4882ee
cmp word [eax + 2], 0
lea esi, [ebx + 8]
push edi
jne 0x4882f2
push str._sstat.ini
jmp 0x4882f7
lea esi, [ebx + 8]
push edi
push str._s_stat.ini
push 0x104
push esi
call fcn.00437480
add esp, 0x10
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x48835d
push eax
call dword [sym.imp.MSVCRT.dll_time]
mov edx, eax
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x12]
mov word [esp + 0x10], 0
add esp, 4
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
push 0x4fd3e0
lea eax, [esp + 0x14]
push 0x40
push eax
call fcn.00437480
add esp, 0x10
lea ecx, [esp + 0xc]
push esi
push ecx
push 0x4fd3d8
push 0x4fd3d0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [ebx + 4], 1
pop esi
pop edi
pop ebx
add esp, 0x80
ret

Function at 0x488420
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x40
push ebx
push esi
mov esi, ecx
call fcn.004882a0
mov eax, dword [esi + 4]
test eax, eax
je 0x488486
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x488486
push edi
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0xc]
push eax
push 0x4fd3e0
push 0x20
push ecx
call fcn.00437480
add esp, 0x10
add esi, 8
lea edx, [esp + 0xc]
push esi
push 0
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
pop edi
pop esi
pop ebx
add esp, 0x40
ret 8
pop esi
xor eax, eax
pop ebx
add esp, 0x40
ret 8

Function at 0x488496
Capabilities:
Delete file

Disassembly:
sub esp, 0x80
push esi
mov esi, ecx
call fcn.004882a0
mov eax, dword [esi + 4]
test eax, eax
je 0x48851c
add esi, 8
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x4f0d78
push esi
call dword [sym.imp.MSVCRT.dll__wfopen]
add esp, 8
test eax, eax
je 0x4884cc
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
push edi
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov edx, eax
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], 0
add esp, 4
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
push 0x4fd3e0
lea eax, [esp + 0x10]
push 0x40
push eax
call fcn.00437480
add esp, 0x10
lea ecx, [esp + 8]
push esi
push ecx
push 0x4fd3d8
push 0x4fd3d0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
pop edi
pop esi
add esp, 0x80
ret