joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41c6c0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x41c6ed
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esp, ebp
pop ebp
ret

Function at 0x41f2a2
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x41f309
lea eax, [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x41f2e9
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x41f2e7
push 0x1f53
push 0x558
push 0xcf3
call dword [sym.imp.GDI32.dll_GetPixel]
jmp 0x41f307
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test eax, eax
je 0x41f307
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x41f326
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
push 0x1fc
push dword [ebp - 0x18]
push 0x2e13
push 0
call fcn.00421975
add esp, 0x10
mov esp, ebp
pop ebp
ret

Function at 0x41f7f0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movzx eax, byte [ebp + 8]
test eax, eax
je 0x41f845
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 8]
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0x568c
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.00421e83
add esp, 0x20
jmp 0x41f8a8
lea eax, [ebp + 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x41f883
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test eax, eax
je 0x41f881
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
jmp 0x41f8a8
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x41f8a8
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esp, ebp
pop ebp
ret
Function at 0x4200f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x420194
lea eax, [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x420176
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
push 3
mov ecx, dword [ebp - 4]
call fcn.00416f95
mov dword [eax], 0x15
jmp 0x420154
push 3
mov ecx, dword [ebp - 4]
call fcn.00416f95
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
push 3
mov ecx, dword [ebp - 4]
call fcn.00416f95
cmp dword [eax], 0xe
je 0x420174
mov dword [ebp - 0x18], 0x249a
cmp dword [ebp - 0x18], 0
je 0x420172
jmp 0x420174
jmp 0x42013c
jmp 0x420192
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
test eax, eax
je 0x420192
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
jmp 0x4201ac
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
push 0x45d7
push dword [ebp - 0x28]
push 0
call fcn.004200d3
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x421160
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x4211cf
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x4211a8
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x4211a6
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x4211cd
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test eax, eax
je 0x4211cd
push 0
push 0x1601
push 0
call dword [sym.imp.ADVAPI32.dll_ControlService]
jmp 0x4211eb
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push 0
call fcn.00432405
add esp, 0xc
mov esp, ebp
pop ebp
ret

Function at 0x421281
Capabilities:
Create process on windows
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x421302
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x4212b5
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x421300
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x4212e3
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 1
jge 0x421300
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x1c]
call fcn.00416f95
mov dword [eax], 0xf6af1124
jmp 0x4212d8
jmp 0x421352
lea eax, [ebp + 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x421348
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test eax, eax
je 0x421346
push 0x196e
push 0
push 0
push 0
push 0
push 0xef
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x421352
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov esp, ebp
pop ebp
ret
Function at 0x421375
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4213bb
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x4213a5
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
jmp 0x4213b9
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
and dword [eax], 0
jmp 0x4213e1
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
push 0
push dword [ebp - 0x14]
push 0x24dc
push dword [ebp - 0x18]
push 0x6bc9
call fcn.004201b0
add esp, 0x14
mov esp, ebp
pop ebp
ret

Function at 0x421c6d
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x421cf6
lea eax, [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x421ca9
push 0x6c5
push 0x25e3
call dword [sym.imp.GDI32.dll_SetTextAlign]
jmp 0x421cf4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x421cd7
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 2
jge 0x421cf4
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x1c]
call fcn.00416f95
mov dword [eax], 0x6ce125d1
jmp 0x421ccc
jmp 0x421d26
lea eax, [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x421d0e
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
jmp 0x421d26
push 0x196e
push 0
push 0
push 0
push 0
push 0xef
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov esp, ebp
pop ebp
ret
Function at 0x4226ea
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x422771
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xc], eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 1
push 0x5083
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0x3b7d
push dword [ebp - 0x30]
call fcn.004227c5
add esp, 0x38
jmp 0x4227c1
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
lea eax, [ebp + 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax]
test eax, eax
je 0x4227ab
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
test eax, eax
je 0x4227a9
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
jmp 0x4227c1
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov esp, ebp
pop ebp
ret

Function at 0x422caa
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x422d13
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x422cf8
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x422d11
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jmp 0x422d39
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
push 0
push dword [ebp - 0x20]
push 0x5628
push 0x3936
push dword [ebp - 0x24]
call fcn.0041f7a8
add esp, 0x14
mov esp, ebp
pop ebp
ret
Function at 0x430f8f
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x430fdc
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
push 0x43f2
push 0x7b29
push 0x20c9
push 0x7362
push 0x7cb7
push 1
push 0x376f
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0043106f
add esp, 0x24
jmp 0x43106b
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x43104b
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x43102c
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 3
jge 0x431049
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x24]
call fcn.00416f95
mov dword [eax], 0x64dc
jmp 0x431021
jmp 0x43106b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
test eax, eax
je 0x43106b
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esp, ebp
pop ebp
ret

Function at 0x431ce9
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x431d34
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
push 0x3730
push 0x56f
push 0x2e2
push 0x394a
push 0x75af
push 0x7e65
push 0x2aef
push 0x7bfc
push dword [ebp - 8]
push 1
call fcn.00431db3
add esp, 0x28
jmp 0x431daf
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x431d64
push 0x2243
push 0
push 0x139d
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x431daf
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x431d92
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 1
jge 0x431daf
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x20]
call fcn.00416f95
mov dword [eax], 0xb26bdde0
jmp 0x431d87
mov esp, ebp
pop ebp
ret
Function at 0x44588e
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
pop ebp
ret
Function at 0x44a94c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movzx eax, byte [ebp + 8]
test eax, eax
je 0x44a9e2
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x44a9c7
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x44a9a8
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 1
jge 0x44a9c5
mov eax, dword [ebp - 4]
push dword [eax]
mov ecx, dword [ebp - 0x1c]
call fcn.00416f95
mov dword [eax], 0xb26bdde0
jmp 0x44a99d
jmp 0x44a9e0
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jmp 0x44aa08
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
push 0x64df
push 0
push 0xa6e
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.00465741
add esp, 0x14
mov esp, ebp
pop ebp
ret

Function at 0x44ab5e
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x44abc8
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x44ab98
push 0
push 0x2f2
push 0
push 0x26c6
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
jmp 0x44abc6
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x44abc6
push 0x196e
push 0
push 0
push 0
push 0
push 0xef
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x44abdc
push 0x2e14
push 0x333f
push 0
call fcn.0045643a
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x4566aa
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x4566fe
lea eax, [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x4566ef
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x4566ed
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jmp 0x4566fc
push 0
push 0x11b5
call dword [sym.imp.USER32.dll_SetWindowTextW]
jmp 0x45671b
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
push 0x79dc
push dword [ebp - 0xc]
push 0
push 0xcfd
call fcn.0045f67b
add esp, 0x10
mov esp, ebp
pop ebp
ret

Function at 0x45679b
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x456809
lea eax, [ebp + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x4567dd
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test eax, eax
je 0x4567db
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
jmp 0x456807
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x456807
push 0x30a
push 0
push 0xa80
push 0x158
push 0
push 0x22c9
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
jmp 0x456826
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
push 0x3d1a
push 0x3811
push 0
push dword [ebp - 0x18]
call fcn.0046039e
add esp, 0x10
mov esp, ebp
pop ebp
ret

Function at 0x45683b
Capabilities:
Get graphical window text
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push ecx
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x456877
lea eax, [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x456863
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x456875
push 0x2243
push 0
push 0x139d
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x45688b
push 0xe63
push 0x7903
push 0
call fcn.0045926d
add esp, 0xc
mov esp, ebp
pop ebp
ret
Function at 0x45af6e
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x45afa7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
push 0x584e
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push 0x7ed4
push 1
call fcn.0045b035
add esp, 0x14
jmp 0x45b031
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test eax, eax
je 0x45b02b
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], eax
push 4
push 0x2000
mov eax, dword [ebp - 4]
push dword [eax + 0x50]
mov eax, dword [ebp - 4]
push dword [eax + 0x34]
push 0x71fa
push 0x7df8
call fcn.00438cf1
pop ecx
pop ecx
call eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 0
jne 0x45b029
push 4
push 0x2000
mov eax, dword [ebp - 4]
push dword [eax + 0x50]
push 0
push 0x71fa
push 0x7df8
call fcn.00438cf1
pop ecx
pop ecx
call eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
jmp 0x45b031
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esp, ebp
pop ebp
ret

Function at 0x45de8a
Capabilities:
Get disk information
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 8]
test eax, eax
je 0x45dec6
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x45debc
push 0x2243
push 0
push 0x139d
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x45dec4
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x45dee7
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xc], eax
push 0x2ff1
push dword [ebp - 8]
push 1
push dword [ebp - 0xc]
call fcn.00458eb0
add esp, 0x10
mov esp, ebp
pop ebp
ret
Function at 0x4605a2
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x460614
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x4605ea
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x4605e8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
jmp 0x460612
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test eax, eax
je 0x460612
push 0x1a9e
push 0x216a
push 0
call dword [sym.imp.GDI32.dll_OffsetRgn]
jmp 0x460631
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
push 1
push dword [ebp - 0x20]
push 0xf9
push 0x3f04
call fcn.0045900c
add esp, 0x10
mov esp, ebp
pop ebp
ret
Function at 0x465c00
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x465c3e
lea eax, [ebp + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x465c26
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
jmp 0x465c3c
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x465c3c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
jmp 0x465c6c
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.0044aadb
add esp, 0x14
mov esp, ebp
pop ebp
ret
Function at 0x4720f1
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0
jmp 0x472112
mov eax, dword [ebp - 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 0x1f
jge 0x472141
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x47213f
push 0x24f3
push 0x24c5
push 0
push 0x1817
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
jmp 0x472107
mov esp, ebp
pop ebp
ret