joyce8/EMBER2024-capa huggingface dataset:
Function at 0x460b10
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
sub esp, 0x108
push esi
mov esi, dword [esp + 0x110]
push esi
call fcn.00465b40
add esp, 4
test eax, eax
jne 0x460bcc
push esi
call fcn.00465a20
add esp, 4
test eax, eax
jne 0x460b56
push 0x45e
call fcn.00461120
add esp, 4
mov eax, 0x45e
pop esi
add esp, 0x108
ret
lea eax, [esp + 4]
push 0x105
push eax
push esi
call fcn.00465830
lea eax, [esp + 0x10]
add esp, 0xc
push eax
lea eax, [esp + 8]
push eax
call dword [0x4f6bf8]
lea ecx, [esp + 4]
push ecx
call dword [0x4f6a1c]
test eax, eax
jne 0x460bc2
lea eax, [esp + 4]
push eax
call dword [0x4f6a44]
cmp eax, 0xffffffff
je 0x460bb5
test al, 0x10
je 0x460bb5
lea eax, [esp + 4]
push eax
call dword [0x4f6a20]
test eax, eax
je 0x460bb5
xor eax, eax
pop esi
add esp, 0x108
ret
call fcn.00461110
pop esi
add esp, 0x108
ret
xor eax, eax
pop esi
add esp, 0x108
ret
xor eax, eax
pop esi
add esp, 0x108
ret

Function at 0x460dd0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
sub esp, 0x108
push ebx
push esi
mov esi, dword [esp + 0x114]
push edi
push ebp
push esi
call fcn.004609f0
add esp, 4
test eax, eax
jne 0x460dfe
mov eax, 0x3ed
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x108
ret
lea eax, [esp + 0x10]
push 0x105
push eax
push esi
call fcn.00465710
lea eax, [esp + 0x1c]
add esp, 0xc
push eax
lea eax, [esp + 0x14]
push eax
call dword [0x4f6bf8]
push esi
call fcn.004659a0
add esp, 4
test eax, eax
jne 0x460e3d
push esi
call fcn.00465980
lea esi, [esp + eax + 0x14]
add esp, 4
jmp 0x460e41
lea esi, [esp + 0x10]
mov edi, dword [0x4f6a44]
mov ebp, dword [0x4f6d28]
xor ebx, ebx
push 0x5c
push esi
call fcn.004b1330
add esp, 8
mov esi, eax
test esi, esi
je 0x460f21
lea eax, [esp + 0x10]
cmp esi, eax
je 0x460ed7
cmp dword [0x4eb22c], ebx
jne 0x460e8c
mov eax, esi
lea ecx, [esp + 0x10]
sub eax, ecx
cmp eax, 1
jle 0x460e86
lea eax, [esi - 1]
jmp 0x460e94
lea eax, [esp + 0x10]
jmp 0x460e94
lea eax, [esp + 0x10]
push esi
push eax
call ebp
cmp byte [eax], 0x3a
je 0x460ed7
cmp dword [0x4eb22c], ebx
jne 0x460eb9
mov eax, esi
lea ecx, [esp + 0x10]
sub eax, ecx
cmp eax, 1
jle 0x460eb3
lea eax, [esi - 1]
jmp 0x460ec1
lea eax, [esp + 0x10]
jmp 0x460ec1
lea eax, [esp + 0x10]
push esi
push eax
call ebp
cmp byte [eax], 0x2e
je 0x460ed7
lea eax, [esp + 0x10]
mov byte [esi], bl
push eax
call edi
cmp eax, 0xffffffff
je 0x460ef3
mov byte [esi], 0x5c
cmp dword [0x4eb22c], ebx
jne 0x460ee5
inc esi
jmp 0x460e4f
push esi
call dword [0x4f6c80]
mov esi, eax
jmp 0x460e4f
lea eax, [esp + 0x10]
push 0
push eax
call dword [0x4f6a14]
test eax, eax
je 0x460f11
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x108
ret
call fcn.00461110
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x108
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x108
ret
Function at 0x460fc0
Capabilities:
Set current directory

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x108
lea eax, [esp]
push 0x105
push eax
push ecx
call fcn.00465710
lea ecx, [esp + 0xc]
add esp, 0xc
push ecx
lea ecx, [esp + 4]
push ecx
call dword [0x4f6bf8]
lea ecx, [esp]
push ecx
call dword [0x4f6a10]
test eax, eax
je 0x461005
xor eax, eax
add esp, 0x108
ret
call fcn.00461110
add esp, 0x108
ret

Function at 0x461060
Capabilities:
Enumerate gui resources

Disassembly:
sub esp, 0x114
push esi
mov esi, dword [esp + 0x11c]
mov eax, dword [esi]
push eax
call fcn.00465a20
add esp, 4
test eax, eax
jne 0x461097
push 0x45e
call fcn.00461120
add esp, 4
mov eax, 0x45e
pop esi
add esp, 0x114
ret
lea eax, [esp + 0x10]
push 0x105
push eax
mov ecx, dword [esi]
push ecx
call fcn.00465830
mov ecx, dword [esp + 0x12c]
lea edx, [esp + 0x1c]
mov dword [esp + 0x16], 0
mov dword [esp + 0x12], ecx
add esp, 0xc
push edx
call dword [0x4f6a08]
mov word [esp + 4], ax
lea eax, [esp + 4]
push eax
push 0x465c70
call dword [0x4f6c00]
mov ecx, dword [esp + 4]
push ecx
call dword [0x4f6a04]
cmp dword [esp + 0xa], 1
mov eax, 0
pop esi
adc eax, 0xffffffff
add esp, 0x114
and eax, 0x20
ret

Function at 0x4614e0
Capabilities:
Get disk information

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x108
lea eax, [esp]
push 0x105
push eax
push ecx
call fcn.00465770
add esp, 0xc
test eax, eax
jne 0x461513
lea eax, [esp]
push eax
call dword [0x4f69fc]
add esp, 0x108
ret
xor eax, eax
add esp, 0x108
ret
Function at 0x4626c0
Capabilities:
Enumerate network shares

Disassembly:
sub esp, 0x14
cmp dword [ecx + 0x194], 0
mov dword [esp], ecx
push ebx
mov dword [esp + 8], 0
push esi
push edi
push ebp
je 0x46282c
lea eax, [ecx + 0x19c]
push eax
call fcn.004c42d0
add esp, 4
test eax, eax
je 0x462709
mov ecx, dword [esp + 0x10]
call fcn.00462a00
mov ecx, dword [esp + 0x10]
call fcn.00462670
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0
jne 0x46282c
mov dword [esp + 0x20], 0
lea eax, [esp + 0x20]
push eax
push 0
push 0
push 1
push 1
call fcn.004e5a4e
test eax, eax
jne 0x46282c
mov esi, 0x640
push 2
mov dword [esp + 0x20], 0xffffffff
push esi
call fcn.00479a30
add esp, 8
mov edi, eax
test edi, edi
je 0x46275f
push edi
call dword [0x4f6aac]
mov ebx, eax
jmp 0x462763
mov ebx, dword [esp + 0x18]
test edi, edi
je 0x462824
test ebx, ebx
je 0x462824
lea eax, [esp + 0x18]
lea ecx, [esp + 0x1c]
mov edx, dword [esp + 0x20]
push eax
mov dword [esp + 0x1c], esi
push ebx
push ecx
push edx
call fcn.004e5a48
cmp eax, 0xea
jne 0x4627b9
mov esi, dword [esp + 0x18]
push edi
call dword [0x4f6aa4]
push 2
push esi
push edi
call fcn.00479aa0
add esp, 0xc
test eax, eax
je 0x4627eb
push edi
call dword [0x4f6aac]
mov ebx, eax
jmp 0x462773
test eax, eax
jne 0x4627f3
xor bp, bp
cmp word [esp + 0x1c], bp
jle 0x462773
movsx eax, bp
shl eax, 5
add eax, ebx
inc bp
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
mov ecx, dword [esp + 0x18]
call fcn.00462840
cmp bp, word [esp + 0x1c]
jl 0x4627c7
jmp 0x462773
mov dword [esp + 0x14], 8
mov eax, dword [esp + 0x20]
push eax
call fcn.004e5a42
push edi
call dword [0x4f6aa4]
push edi
call fcn.00479b40
add esp, 4
cmp dword [esp + 0x14], 0
jne 0x46282c
mov eax, dword [esp + 0x10]
mov dword [eax + 0x194], 0
jmp 0x46282c
mov dword [esp + 0x14], 8
mov eax, dword [esp + 0x14]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x14
ret
Function at 0x4639a0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x114
cmp dword [0x4ea030], 0
push esi
push edi
jne 0x463aa0
lea eax, [esp + 0x14]
push 0x105
mov dword [0x4ea030], 1
mov dword [0x4ea02c], 0
push eax
call dword [0x4f69e0]
mov esi, eax
test esi, esi
jle 0x463a25
cmp esi, 0x104
jae 0x463a25
cmp dword [0x4eb22c], 0
jne 0x4639fe
cmp esi, 1
jle 0x4639fa
lea eax, [esi - 1]
jmp 0x463a14
xor eax, eax
jmp 0x463a14
lea eax, [esp + esi + 0x14]
lea ecx, [esp + 0x14]
push eax
push ecx
call dword [0x4f6d28]
lea ecx, [esp + 0x14]
sub eax, ecx
cmp byte [esp + eax + 0x14], 0x5c
je 0x463a25
mov byte [esp + esi + 0x14], 0x5c
mov byte [esp + esi + 0x15], 0
lea eax, [esp + 0x14]
push 0x105
push str.KERNEL32.DLL
push eax
call fcn.004b0510
lea eax, [esp + 0x14]
lea ecx, [esp + 0x20]
add esp, 0xc
push eax
push ecx
call fcn.00465550
add esp, 8
mov esi, dword [0x4f6a70]
push 0x8001
call esi
mov edi, eax
mov eax, dword [esp + 8]
push eax
call fcn.00417550
add esp, 4
test eax, eax
je 0x463a90
push str.GetDiskFreeSpaceExA
push 0
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00417650
add esp, 0x10
test eax, eax
jne 0x463a90
mov eax, dword [esp + 0x10]
mov dword [0x4ea02c], eax
push edi
call esi
mov eax, dword [esp + 8]
push eax
call fcn.00465690
add esp, 4
pop edi
pop esi
add esp, 0x114
ret

Function at 0x464ee0
Capabilities:
Get disk information

Disassembly:
sub esp, 0x114
push ebx
push esi
push edi
xor ebx, ebx
test byte [ecx + 0x14], 4
mov edi, ecx
je 0x464f5b
lea eax, [esp + 0x18]
push 0x105
mov byte [esp + 0x1c], bl
push eax
mov esi, dword [edi]
call dword [esi + 0x2c]
lea eax, [esp + 0x14]
push ebx
lea ecx, [esp + 0x10]
push ebx
lea edx, [esp + 0x18]
push eax
push ecx
mov eax, 0
lea ecx, [esp + 0x28]
push edx
cmp byte [esp + 0x2c], 1
adc eax, 0xffffffff
push ebx
push ebx
and eax, ecx
push eax
call dword [0x4f69e8]
test eax, eax
je 0x464f60
lea eax, [esp + 0x18]
push 0x105
push eax
mov ecx, edi
call dword [esi + 0x38]
test eax, eax
jne 0x464f60
lea eax, [esp + 0x18]
push eax
call dword [0x4f6960]
cmp eax, dword [esp + 0xc]
jg 0x464f60
mov ebx, 1
mov eax, ebx
pop edi
pop esi
pop ebx
add esp, 0x114
ret

Function at 0x46a1a0
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
mov ecx, dword [esp + 4]
cmp byte [ecx], al
je 0x46a1c2
mov edx, eax
inc ecx
shr edx, 8
shl eax, 0x18
or edx, eax
movsx eax, byte [ecx - 1]
xor edx, eax
cmp byte [ecx], 0
mov eax, edx
jne 0x46a1aa
ret
Function at 0x46c450
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 4]
mov al, byte [ecx]
inc ecx
add al, byte [esp + 8]
xor al, byte [0x4e64e8]
cmp byte [ecx], 0
je 0x46c479
xor edx, edx
inc ecx
mov dl, al
mov al, byte [edx + 0x4e64e8]
xor al, byte [ecx - 1]
cmp byte [ecx], 0
jne 0x46c466
ret

Function at 0x46dad0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x108
mov eax, dword [0x4f0a98]
test eax, eax
jne 0x46db03
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x10c]
push eax
push ecx
push edx
call fcn.004b0590
add esp, 0x114
ret
lea ecx, [esp]
push 0x105
push ecx
push eax
call fcn.00465830
lea eax, [esp + 0xc]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
add esp, 0xc
push eax
push ecx
mov eax, dword [esp + 0x124]
push edx
mov ecx, dword [esp + 0x124]
push eax
mov edx, dword [esp + 0x124]
push ecx
push edx
call dword [0x4f69d8]
add esp, 0x108
ret

Function at 0x46dd30
Capabilities:
Get common file path

Disassembly:
sub esp, 0x108
lea eax, [esp]
push 0x105
push eax
call dword [0x4f69d4]
movsx ecx, ax
cmp byte [esp + ecx - 1], 0x5c
je 0x46dd5f
mov byte [esp + ecx], 0x5c
inc ax
movsx ecx, ax
mov byte [esp + ecx], 0
lea eax, [esp]
mov ecx, dword [esp + 0x10c]
push eax
push ecx
call fcn.004656b0
add esp, 0x110
ret

Function at 0x46dd80
Capabilities:
Get common file path

Disassembly:
sub esp, 0x108
lea eax, [esp]
push 0x105
push eax
call dword [0x4f69e0]
movsx ecx, ax
cmp byte [esp + ecx - 1], 0x5c
je 0x46ddaf
mov byte [esp + ecx], 0x5c
inc ax
movsx ecx, ax
mov byte [esp + ecx], 0
lea eax, [esp]
mov ecx, dword [esp + 0x10c]
push eax
push ecx
call fcn.004656b0
add esp, 0x110
ret

Function at 0x46df60
Capabilities:
Print debug messages

Disassembly:
cmp dword [0x4ea25c], 2
jne 0x46df6e
jmp 0x4e5320
ret
call fcn.004e52d0
jmp fcn.004e5260
Function at 0x470420
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x320
push ebx
push esi
push edi
xor ebx, ebx
push ebp
xor edi, edi
mov ebp, 1
push 0x105
lea eax, [esp + 0x124]
mov esi, dword [esp + 0x338]
mov byte [esp + 0x22c], bl
push eax
mov ecx, dword [esi]
mov byte [esp + 0x20], bl
mov byte [esp + 0x128], bl
push ecx
call fcn.004657d0
lea eax, [esp + 0x24]
add esp, 0xc
mov ecx, dword [esi + 8]
push 0x105
push eax
push ecx
call fcn.004657d0
add esp, 0xc
cmp byte [esp + 0x120], bl
jne 0x470499
cmp byte [esp + 0x18], bl
jne 0x470499
mov eax, 2
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x320
ret
cmp byte [esp + 0x120], 0
je 0x4704f7
push 0
mov eax, dword [esi]
push eax
call fcn.00465c00
add esp, 8
test eax, eax
jne 0x4704d2
lea eax, [esp + 0x14]
push 0x4e9fa4
push eax
call fcn.00465c30
add esp, 8
mov ecx, dword [esi]
push eax
push ecx
call fcn.004658c0
add esp, 8
lea eax, [esp + 0x120]
push 0x105
push eax
mov ecx, dword [esi]
cmp dword [esi + 4], 0
push ecx
je 0x4704ef
call fcn.00465830
jmp 0x4704f4
call fcn.004657d0
add esp, 0xc
cmp byte [esp + 0x18], 0
je 0x470521
lea eax, [esp + 0x18]
push 0x105
push eax
mov ecx, dword [esi + 8]
cmp dword [esi + 0xc], 0
push ecx
je 0x470519
call fcn.00465830
jmp 0x47051e
call fcn.004657d0
add esp, 0xc
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x470532
cmp dword [esi + 4], 0
je 0x47054f
test eax, eax
je 0x470537
mov eax, dword [esi + 8]
jmp 0x470539
mov eax, dword [esi]
lea ecx, [esp + 0x228]
push 0x105
push ecx
push eax
call fcn.00465710
add esp, 0xc
test ebp, ebp
jne 0x47055b
test edi, edi
je 0x4705e7
xor edi, edi
push 1
lea eax, [esp + 0x22c]
mov ecx, 0
cmp byte [esp + 0x22c], 1
adc ecx, 0xffffffff
and ecx, eax
lea eax, [esp + 0x1c]
cmp byte [esp + 0x1c], 0
push ecx
push edi
jne 0x47058c
lea eax, [esp + 0x12c]
cmp dword [esi + 0x14], 0
push eax
mov eax, str.PRINT
jne 0x47059d
mov eax, str.OPEN
push eax
mov eax, dword [0x4f0ba4]
push eax
call dword [0x4f6ae4]
cmp eax, 0x1f
mov ebx, eax
je 0x470616
cmp ebx, 2
jne 0x4705e0
test ebp, ebp
je 0x4705e0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4705cb
cmp dword [esi + 0xc], 0
je 0x4705e0
test eax, eax
je 0x4705cf
mov eax, dword [esi]
jmp 0x4705d2
mov eax, dword [esi + 8]
push eax
mov edi, 1
call fcn.00460fc0
add esp, 4
xor ebp, ebp
jmp 0x47054f
cmp ebx, 0x20
ja 0x470609
push esi
call fcn.00470720
add esp, 4
test eax, eax
je 0x470609
mov eax, 0x21
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x320
ret
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x320
ret
push esi
call fcn.00470720
add esp, 4
cmp eax, 1
sbb eax, eax
pop ebp
and eax, 0xfffffffe
pop edi
add eax, 0x21
pop esi
pop ebx
add esp, 0x320
ret
Function at 0x470720
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x294
push ebx
push esi
mov esi, dword [esp + 0x2a0]
push edi
push ebp
push 0
mov eax, dword [esi]
push eax
call fcn.00465bd0
add esp, 8
test eax, eax
je 0x47074f
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x294
ret
lea eax, [esp + 0x10]
push 0x20a
push eax
mov ecx, dword [esi]
cmp dword [esi + 4], 0
push ecx
je 0x470769
call fcn.00465830
jmp 0x47076e
call fcn.004657d0
lea eax, [esp + 0x1c]
add esp, 0xc
mov ebp, dword [0x4f6960]
push eax
call ebp
lea edi, [esp + eax + 0x10]
push 0x4000
lea eax, [esp + 0x220]
lea ecx, [esp + 0x14]
push eax
mov ebx, dword [0x4f6a6c]
push ecx
call ebx
cmp eax, 0xffffffff
jne 0x4707f6
push 0
mov eax, dword [esi]
push eax
call fcn.00465c00
add esp, 8
test eax, eax
je 0x4707e9
push str..EXE
push edi
call dword [0x4f6950]
push edi
call ebp
add edi, eax
push 0x4000
lea eax, [esp + 0x220]
lea ecx, [esp + 0x14]
push eax
push ecx
call ebx
cmp eax, 0xffffffff
jne 0x4707f6
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x294
ret
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x294
ret
cmp dword [esi + 0x10], 0
je 0x470817
mov byte [edi], 0x20
inc edi
lea eax, [esp + 0x21a]
mov ecx, dword [esi + 8]
sub eax, edi
push eax
push edi
push ecx
call fcn.00465830
add esp, 0xc
lea eax, [esp + 0x10]
push 5
push eax
call dword [0x4f69c8]
mov cx, 0x20
pop ebp
cmp cx, ax
pop edi
mov eax, 1
pop esi
adc eax, 0xffffffff
pop ebx
add esp, 0x294
ret

Function at 0x479a00
Capabilities:
Get memory capacity

Disassembly:
sub esp, 0x20
mov dword [esp], 0x20
lea eax, [esp]
push eax
call dword [0x4f69bc]
mov eax, dword [esp + 8]
add esp, 0x20
sub eax, 0x300000
mov dword [0x4f0bd8], eax
ret

Function at 0x479d50
Capabilities:
Get memory capacity

Disassembly:
sub esp, 0x20
xor eax, eax
mov ecx, 8
push edi
lea edi, [esp + 4]
rep stosd dword es:[edi], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 4]
push eax
call dword [0x4f69bc]
mov eax, dword [esp + 0x18]
pop edi
add esp, 0x20
ret

Function at 0x47e2e0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0xc]
push edi
push esi
push eax
call fcn.0047e670
add esp, 8
mov edi, eax
cmp dword [0x4eb22c], 0
mov eax, 1
je 0x47e30d
push edi
call fcn.004b1510
add esp, 4
test eax, eax
je 0x47e317
movzx ax, byte [edi]
jmp 0x47e31a
mov ax, word [edi]
cmp ax, 0x30
jb 0x47e33b
cmp ax, 0x39
ja 0x47e33b
cmp dword [0x4eb22c], 0
jne 0x47e332
inc edi
jmp 0x47e33b
push edi
call dword [0x4f6c80]
mov edi, eax
push edi
call dword [0x4f6960]
test eax, eax
jle 0x47e35b
mov eax, dword [esp + 0xc]
push edi
push esi
push eax
call dword [0x4f6c6c]
mov eax, 1
pop edi
pop esi
ret
mov eax, dword [esp + 0xc]
push esi
push eax
call dword [0x4f6c18]
test eax, eax
je 0x47e379
push 0
push eax
call dword [0x4f6c20]
xor eax, eax
pop edi
pop esi
ret
mov eax, 1
pop edi
pop esi
ret
Function at 0x47e3b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x264
test byte [0x4eaf64], 0x40
push ebx
push esi
push edi
push ebp
je 0x47e3d3
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x264
ret
mov esi, dword [esp + 0x278]
push 0x100
movzx eax, si
push eax
mov ecx, dword [0x4f0ba8]
push ecx
call dword [0x4f6a90]
push eax
mov ecx, dword [0x4f0ba8]
push ecx
call dword [0x4f6a94]
mov edi, eax
test edi, edi
je 0x47e50a
push edi
call dword [0x4f6958]
mov dword [esp + 0x10], eax
test eax, eax
je 0x47e50a
lea ebx, [eax + 2]
push 5
mov dword [esp + 0x1c], 0x12c
push ebx
call fcn.0047e670
add esp, 8
push eax
lea eax, [esp + 0x280]
push eax
push 4
push ebx
call fcn.0047e670
lea ecx, [esp + 0x2c]
add esp, 8
push eax
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.0047e590
mov ecx, dword [esp + 0x290]
lea edx, [esp + 0x30]
lea eax, [esp + 0x15c]
add esp, 0x14
push ecx
push edx
push 0x12c
push eax
call fcn.00401890
mov ecx, dword [esp + 0x20]
add esp, 0x10
movsx eax, word [ecx]
cmp eax, 3
ja case.default.0x47e486
jmp dword [eax*4 + 0x47e574]
push 0
jmp 0x47e49f
push 0x40
jmp 0x47e49f
push 0x30
jmp 0x47e49f
push 0x10
jmp 0x47e49f
push 0x20
call fcn.004bf2d0
lea eax, [esp + 0x14c]
add esp, 4
mov dword [esp + 0x14], eax
push 2
push 8
call fcn.00479a30
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x47e50a
lea ebx, [esp + 0x10]
push ebp
call dword [0x4f6aac]
mov ecx, dword [ebx]
push ebp
mov dword [eax], ecx
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
call dword [0x4f6aa4]
push ebp
mov ecx, dword [0x4f0ba4]
push 0x47dfd0
push ecx
push 0xe5
call fcn.00416290
add esp, 0x10
mov ebx, eax
push ebp
call fcn.00479b40
add esp, 4
cmp ebx, 0xffffffff
jne 0x47e55d
cmp esi, 0xcf
je 0x47e525
push esi
push 0xcf
call fcn.0047e390
add esp, 8
cmp eax, 2
jne 0x47e54d
push 0x11c
mov eax, dword [str._s___d]
push str.message
push eax
call fcn.004b2160
add esp, 0xc
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x264
ret
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x264
ret
push edi
call dword [0x4f695c]
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x264
ret
Function at 0x480790
Capabilities:
Get common file path

Disassembly:
sub esp, 0x208
xor eax, eax
mov ecx, 0x40
push ebx
mov byte [esp + 4], 0
push esi
push edi
lea edi, [esp + 0xd]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, 0xffffffff
mov eax, dword [esp + 0x21c]
test eax, eax
je 0x4807ca
cmp eax, 1
je 0x480812
cmp eax, 2
je 0x480821
jmp 0x48083d
lea eax, [esp + 0x110]
push eax
call fcn.004615a0
add esp, 4
mov esi, eax
test esi, esi
jne 0x48083d
lea eax, [esp + 0xc]
push 0x104
mov ecx, dword [esp + 0x114]
push eax
push ecx
call fcn.00465710
mov di, 0xb
mov ecx, dword [esp + 0x11c]
add esp, 0xc
mov esi, eax
push ecx
call fcn.00465690
add esp, 4
jmp 0x480845
mov eax, 0x80040006
pop edi
pop esi
pop ebx
add esp, 0x208
ret
lea eax, [esp + 0xc]
push 0x104
push eax
call dword [0x4f69d4]
test eax, eax
je 0x480837
xor esi, esi
mov di, 0xc
jmp 0x480845
mov di, word [esp + 0x110]
test esi, esi
jne 0x4808d4
lea eax, [esp + 0xc]
push eax
call dword [0x4f6960]
mov ebx, eax
push edi
lea eax, [esp + 0x114]
push 0x1eb0
push 0x104
push eax
call fcn.004b14d0
add esp, 0x10
cmp dword [0x4eb22c], 0
jne 0x48088f
cmp ebx, 1
jle 0x480889
lea eax, [esp + ebx + 0xb]
jmp 0x48089f
lea eax, [esp + 0xc]
jmp 0x48089f
lea eax, [esp + ebx + 0xc]
lea ecx, [esp + 0xc]
push eax
push ecx
call dword [0x4f6d28]
cmp byte [eax], 0x5c
jne 0x4808a7
mov byte [eax], 0
lea eax, [esp + 0x110]
push 0x104
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.004b0510
lea ecx, [esp + 0x18]
mov edx, dword [esp + 0x224]
add esp, 0xc
push ecx
push edx
call dword [0x4f6950]
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x208
ret

Function at 0x485780
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x400
mov ecx, 0xffffffff
push esi
push edi
mov edi, dword [esp + 0x40c]
add edi, 0x108
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
lea edi, [esp + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4e911c
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov ecx, 0xffffffff
lea edi, [esp + 8]
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x410]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov ecx, 0xffffffff
lea edi, [esp + 8]
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x1f
lea eax, [esp + 0xc]
push eax
call dword [0x4f69c8]
pop edi
cmp esi, eax
mov eax, 1
pop esi
adc eax, 0xffffffff
add esp, 0x400
ret
Function at 0x485e70
Capabilities:
Query or enumerate registry value

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 4
lea eax, [esp]
push esi
mov edx, dword [esp + 0xc]
push eax
push 0x20019
push 0
push ecx
push edx
call dword [0x4f676c]
test eax, eax
je 0x485e9b
xor eax, eax
pop esi
add esp, 4
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 4]
push eax
push ecx
push 0
push edx
call dword [0x4f6768]
mov esi, eax
mov ecx, dword [esp + 4]
push ecx
call dword [0x4f6760]
cmp esi, 1
pop esi
sbb eax, eax
add esp, 4
neg eax
ret
Function at 0x4923e0
Capabilities:
Get graphical window text

Disassembly:
push esi
mov esi, ecx
call fcn.00492240
test eax, eax
je 0x4923f9
push 0x28
add esi, 0x10
push esi
push eax
call dword [0x4f6ca0]
pop esi
ret

Function at 0x495c70
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
push edi
push ebp
mov edi, dword [esi + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [ebp]
test ebx, ebx
jne 0x495cb0
mov eax, dword [edi + 6]
cmp eax, 0x100
jg 0x495c95
mov eax, 0x100
push 2
lea eax, [eax*4 + 0x28]
push eax
call fcn.00479a30
mov dword [ebp], eax
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x495cf5
push ebx
call dword [0x4f6aac]
mov dword [eax], 0x28
mov word [eax + 0xc], 1
mov word [eax + 0xe], 8
mov ecx, dword [edi + 6]
mov dword [eax + 0x20], ecx
mov ecx, dword [edi + 6]
shl ecx, 2
mov ebp, dword [esi + 0x5c]
shr ecx, 2
mov edx, dword [esi + 0xc]
lea edi, [eax + 0x28]
push ebx
lea esi, [ebp + edx + 0xa]
rep movsd dword es:[edi], dword [esi]
call dword [0x4f6aa4]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, 4
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x49bc80
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x4f0ff4]
test eax, eax
je 0x49bcad
push 1
push eax
call dword [0x4f6c20]
mov eax, dword [0x4f0ff4]
push eax
call dword [0x4f6cd8]
push 0
mov ecx, dword [0x4f0ba4]
push ecx
call dword [0x4f6c08]
ret

Function at 0x49c2e0
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0xc
mov dword [esp], 0
push ebx
push esi
mov esi, dword [esp + 0x18]
push edi
push ebp
push 0
mov ebx, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub ebx, dword [esi]
sub eax, dword [esi + 4]
mov ebp, dword [0x4f6cf0]
mov dword [esp + 0x1c], eax
call ebp
mov edi, eax
test edi, edi
je 0x49c3a6
mov eax, dword [esp + 0x18]
mov ebp, dword [0x4f6820]
push eax
push ebx
push edi
call ebp
mov dword [esp + 0x14], eax
test eax, eax
je 0x49c39d
push edi
call dword [0x4f67a8]
mov ebp, eax
test ebp, ebp
je 0x49c392
mov eax, dword [esp + 0x14]
push eax
push ebp
call dword [0x4f67a0]
push 0xcc0020
mov ecx, dword [esi]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
push eax
push ecx
push edi
push edx
push ebx
push 0
push 0
push ebp
call dword [0x4f67a4]
mov ecx, dword [esp + 0x10]
push ecx
push ebp
call dword [0x4f67a0]
push ebp
call dword [0x4f679c]
mov ecx, dword [esp + 0x14]
push 0
push 4
push 0
push ecx
call fcn.00412550
mov dword [esp + 0x20], eax
add esp, 0x10
mov eax, dword [esp + 0x14]
push eax
call dword [0x4f677c]
push edi
push 0
call dword [0x4f6cf4]
mov eax, dword [esp + 0x10]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret