joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40c930
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x9d0a58
push eax
mov dword fs:[0], esp
sub esp, 0x38
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x40c968
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40c9a7
lea ecx, [ebp - 0x44]
call fcn.0040cce0
lea ecx, [ebp - 0x1c]
call fcn.00409cd0
push 0
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0
call fcn.0040d230
test al, al
jne 0x40c9b7
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0096b321
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1c]
push ebx
mov ebx, dword [ebp - 0x24]
shr ebx, 4
push ecx
and bl, 1
call fcn.0096b321
mov ecx, dword [ebp - 0xc]
add esp, 4
mov al, bl
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x40d020
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40d034
or eax, eax
pop ebp
ret 4
Function at 0x40d980
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0x9d1ff0
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push esi
push edi
call fcn.00409030
mov edi, dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
push 0
push 0
call edi
mov esi, eax
test esi, esi
jne 0x40d9cb
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
xor ecx, ecx
mov edx, 2
mul edx
seto cl
push ebx
neg ecx
or ecx, eax
push ecx
call fcn.0096b337
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
push ebx
push esi
mov dword [ebp - 4], 0
call edi
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
je 0x40da83
cmp edi, esi
ja 0x40da83
lea ecx, [ebp - 0x28]
call fcn.00409cd0
xor eax, eax
xor esi, esi
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], eax
cmp edi, eax
jbe 0x40da58
mov edi, 2
cmp word [ebx + edi - 2], 0
jne 0x40da4c
add eax, ebx
push eax
lea ecx, [ebp - 0x28]
call fcn.00409ed0
lea ecx, [ebp - 0x28]
lea eax, [esi + 1]
push ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edi
call fcn.004090d0
mov eax, edi
inc esi
add edi, 2
cmp esi, dword [ebp - 0x10]
jb 0x40da22
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
push edx
call fcn.0096b321
push ebx
call fcn.0096b321
add esp, 8
cmp dword [ebp - 0x14], edi
pop ebx
pop edi
sete al
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
push ebx
call fcn.0096b321
mov ecx, dword [ebp - 0xc]
add esp, 4
pop ebx
pop edi
xor al, al
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4

Function at 0x40db00
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, dword [ecx]
push esi
lea eax, [ebp - 4]
push eax
push ecx
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40db33
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x40db33
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
xor eax, eax
xor edx, edx
add edx, esi
adc ecx, eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 4

Function at 0x40dcf0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [esi], 0
mov eax, dword [ebp + 0xc]
cmp eax, 0x400000
jbe 0x40dd13
mov eax, 0x400000
mov edx, dword [ebx]
push 0
lea ecx, [ebp + 0x10]
push ecx
push eax
push edi
push edx
mov dword [ebp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp + 0x10]
add dword [esi], ecx
test eax, eax
je 0x40dd48
test ecx, ecx
je 0x40dd3f
add edi, ecx
sub dword [ebp + 0xc], ecx
jne 0x40dd04
pop edi
pop esi
mov al, 1
pop ebx
pop ebp
ret 0xc
pop edi
pop esi
xor al, al
pop ebx
pop ebp
ret 0xc
Function at 0x40f770
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push esi
mov esi, dword [ebp + 8]
push edi
push str.GlobalMemoryStatusEx
xor edi, edi
push str.kernel32.dll
mov dword [esi], SysReAllocString
mov dword [esi + 4], edi
mov dword [ebp - 0x60], 0x40
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
je 0x40f7db
lea ecx, [ebp - 0x60]
push ecx
call eax
test eax, eax
je 0x40f7db
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x58]
cmp ecx, edx
ja 0x40f7c8
mov eax, dword [ebp - 0x38]
jb 0x40f7cc
cmp eax, edi
jb 0x40f7cc
mov eax, edi
mov ecx, edx
mov dword [esi], eax
pop edi
mov dword [esi + 4], ecx
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0x20]
push edx
mov dword [ebp - 0x20], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
cmp eax, ecx
jb 0x40f7f8
mov eax, ecx
mov dword [esi + 4], edi
mov dword [esi], eax
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x41b7b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x41b7c1
mov dword [esi], 0
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x41b804
mov eax, 0x8000
cmp ecx, eax
jae 0x41b7d3
mov eax, ecx
mov edx, dword [ebp + 0xc]
push 0
lea ecx, [ebp + 0x14]
push ecx
push eax
push edx
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
add dword [ecx + 8], edx
adc dword [ecx + 0xc], 0
test esi, esi
je 0x41b800
add dword [esi], edx
test eax, eax
je 0x41b80b
xor eax, eax
pop esi
pop ebp
ret 0x10
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x41b81f
mov eax, 0x80004005
pop esi
pop ebp
ret 0x10
jle 0x41b82b
and eax, 0xffff
or eax, 0x80070000
pop esi
pop ebp
ret 0x10

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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d1243
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x10], esi
xor ebx, ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], 0x10
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
xor eax, eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x68], eax
mov dword [esi + 0x70], ebx
push 0x34
mov dword [ebp - 4], ebx
mov dword [esi], vtable.NCrypto::N7z::CDecoder.2.0
mov dword [esi + 4], vtable.NCrypto::N7z::CDecoder.1.0
mov dword [esi + 0x74], vtable.NCrypto::N7z::CDecoder.0
call fcn.0096b3df
mov edi, eax
add esp, 4
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x420059
push 0x20
mov ecx, edi
call fcn.00420300
mov dword [edi], vtable.NCrypto::CAesCbcDecoder.1.0
mov dword [edi + 4], vtable.NCrypto::CAesCbcDecoder.0
mov dword [edi + 0x1c], 0x4013e0
mov eax, dword [0xa0ea70]
mov dword [edi + 0x18], eax
jmp 0x42005b
xor edi, edi
mov byte [ebp - 4], bl
cmp edi, ebx
je 0x42006a
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x420079
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x70], edi
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x424500
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d173e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [esi + 0xcc]
push eax
mov dword [ebp - 4], 2
call fcn.0096b321
mov eax, dword [esi + 0xc0]
push eax
call fcn.0096b321
mov eax, dword [esi + 0x9c]
push eax
call fcn.0096b321
mov eax, dword [esi + 0x90]
push eax
call fcn.0096b321
mov eax, dword [esi + 0x30]
push eax
call fcn.0096b321
mov eax, dword [esi + 0x24]
push eax
call fcn.0096b321
mov eax, dword [esi + 0x18]
push eax
call fcn.0096b321
mov eax, dword [esi + 0xc]
add esp, 0x1c
test eax, eax
je 0x424583
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi + 8]
mov byte [ebp - 4], 1
test eax, eax
je 0x424596
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi + 4]
mov byte [ebp - 4], 0
test eax, eax
je 0x4245a9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [esi]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4245be
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x4272c0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d1c1b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x10], esi
mov dword [esi], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 3
mov dword [esi + 0x11], ebx
mov word [esi + 0x15], bx
mov byte [esi + 0x17], bl
call fcn.00409cd0
lea ecx, [esi + 0x24]
mov byte [ebp - 4], 4
call fcn.00409cd0
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 5
call fcn.00409cd0
lea edi, [esi + 0x78]
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
xor eax, eax
mov dword [esi + 0x4c], eax
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 6
mov dword [ebp - 0x14], edi
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], 0xffffffff
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
call fcn.00409cd0
lea ecx, [edi + 0x24]
mov byte [ebp - 4], 7
call fcn.00409cd0
lea edi, [esi + 0xa8]
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], edi
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], 0xffffffff
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
call fcn.00409cd0
lea ecx, [edi + 0x24]
mov byte [ebp - 4], 9
call fcn.00409cd0
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x427760
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d1c85
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi], eax
test eax, eax
je 0x427793
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 4]
mov dword [ebp - 4], 0
mov dword [esi + 4], eax
test eax, eax
je 0x4277ac
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 8]
mov byte [ebp - 4], 1
mov dword [esi + 8], eax
test eax, eax
je 0x4277c2
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 0xc]
mov byte [ebp - 4], 2
mov dword [esi + 0xc], eax
test eax, eax
je 0x4277d8
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
movzx eax, byte [edi + 0x10]
mov byte [esi + 0x10], al
movzx ecx, byte [edi + 0x11]
mov byte [esi + 0x11], cl
movzx edx, byte [edi + 0x12]
mov byte [esi + 0x12], dl
movzx eax, byte [edi + 0x13]
mov byte [esi + 0x13], al
movzx ecx, byte [edi + 0x14]
mov byte [esi + 0x14], cl
movzx edx, byte [edi + 0x15]
mov byte [esi + 0x15], dl
movzx eax, byte [edi + 0x16]
mov byte [esi + 0x16], al
movzx ecx, byte [edi + 0x17]
lea edx, [edi + 0x18]
mov byte [esi + 0x17], cl
push edx
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 3
call fcn.00409e20
lea eax, [edi + 0x24]
push eax
lea ecx, [esi + 0x24]
mov byte [ebp - 4], 4
call fcn.00409e20
lea ecx, [edi + 0x30]
push ecx
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 5
call fcn.00409e20
mov edx, dword [edi + 0x3c]
mov dword [esi + 0x3c], edx
mov eax, dword [edi + 0x40]
mov dword [esi + 0x40], eax
mov ecx, dword [edi + 0x44]
mov dword [esi + 0x44], ecx
mov edx, dword [edi + 0x48]
mov dword [esi + 0x48], edx
mov eax, dword [edi + 0x4c]
mov dword [esi + 0x4c], eax
mov ecx, dword [edi + 0x50]
mov dword [esi + 0x50], ecx
mov edx, dword [edi + 0x54]
mov dword [esi + 0x54], edx
mov eax, dword [edi + 0x58]
mov dword [esi + 0x58], eax
mov ecx, dword [edi + 0x5c]
mov dword [esi + 0x5c], ecx
movzx edx, byte [edi + 0x60]
mov byte [esi + 0x60], dl
mov eax, dword [edi + 0x68]
mov dword [esi + 0x68], eax
mov ecx, dword [edi + 0x6c]
mov dword [esi + 0x6c], ecx
mov edx, dword [edi + 0x70]
lea ecx, [edi + 0x78]
mov dword [esi + 0x70], edx
mov eax, dword [edi + 0x74]
push ecx
lea ecx, [esi + 0x78]
mov byte [ebp - 4], 6
mov dword [esi + 0x74], eax
call fcn.00427230
lea edx, [edi + 0xa8]
push edx
lea ecx, [esi + 0xa8]
mov byte [ebp - 4], 7
call fcn.00427230
mov eax, dword [edi + 0xd8]
mov dword [esi + 0xd8], eax
mov ecx, dword [edi + 0xdc]
pop edi
mov dword [esi + 0xdc], ecx
mov eax, esi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x428ab0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d1dc2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
xor eax, eax
push esi
mov esi, ecx
mov dword [esi + 0x14], eax
mov dword [esi], vtable.COpenCallbackImp.4.0
mov dword [esi + 4], vtable.COpenCallbackImp.3.0
mov dword [esi + 8], vtable.COpenCallbackImp.2.0
mov dword [esi + 0xc], vtable.COpenCallbackImp.1.0
mov dword [esi + 0x10], vtable.COpenCallbackImp.0
mov byte [esi + 0x18], al
push edi
mov dword [ebp - 0x10], esi
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [ebp - 4], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
lea ecx, [esi + 0x48]
mov byte [ebp - 4], 2
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
call fcn.00409cd0
lea ecx, [esi + 0x54]
mov byte [ebp - 4], 3
call fcn.00409cd0
lea ecx, [esi + 0x60]
mov byte [ebp - 4], 4
call fcn.0040cce0
lea ecx, [esi + 0x88]
call fcn.00409cd0
lea ecx, [esi + 0x98]
mov byte [ebp - 4], 5
call fcn.00423bc0
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d207a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x10], esi
mov dword [esi + 4], ebx
mov dword [esi], vtable.CBrowseDialog.0
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [ebp - 4], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x3c], ebx
lea ecx, [esi + 0x48]
mov byte [ebp - 4], 2
call fcn.00409cd0
lea ecx, [esi + 0x54]
mov byte [ebp - 4], 3
call fcn.00409cd0
mov word [esi + 0x60], bx
mov dword [esi + 0x64], 0xffffffff
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ebx
lea ecx, [esi + 0x74]
mov byte [ebp - 4], 5
call fcn.00409cd0
lea ecx, [esi + 0x80]
mov byte [ebp - 4], 6
call fcn.00409cd0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x42b7d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push esi
push 0x11
mov esi, ecx
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov cl, al
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0xc]
cmp eax, 8
je 0x42b822
cmp eax, 0x52
je 0x42b809
cmp eax, 0x76
jne 0x42b81b
mov ecx, esi
call fcn.0042b520
mov al, 1
pop esi
pop ebp
ret 4
test cl, cl
je 0x42b81b
mov ecx, esi
call fcn.0042ab50
mov al, 1
pop esi
pop ebp
ret 4
xor al, al
pop esi
pop ebp
ret 4
mov ecx, esi
call fcn.0042ac10
mov al, 1
pop esi
pop ebp
ret 4
Function at 0x42d090
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d22a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x31c
push ebx
mov ebx, ecx
push edi
lea ecx, [ebp - 0x24]
call fcn.00409cd0
mov edi, dword [ebp + 0x10]
cmp byte [edi], 0
mov dword [ebp - 4], 0
je 0x42d113
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
push eax
push ecx
lea edx, [ebp - 0x3c]
push edx
call fcn.0042cea0
push eax
push 0xdb0
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 1
call fcn.0042cf60
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00409f40
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.0096b321
mov edx, dword [ebp - 0x3c]
push edx
mov byte [ebp - 4], 0
call fcn.0096b321
add esp, 8
push esi
lea esi, [edi + 0x18]
mov ecx, esi
call fcn.0040a3c0
mov dword [ebp + 0x10], eax
inc eax
push eax
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.004192c0
mov ecx, dword [esi]
mov edx, dword [ebp + 0x10]
lea eax, [ecx + edx*2 + 2]
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00409d50
lea eax, [ebp - 0x48]
push eax
mov ecx, ebx
mov byte [ebp - 4], 4
call fcn.0042cfc0
lea ecx, [ebp - 0x30]
push ecx
mov ecx, ebx
call fcn.0042cfc0
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x18]
call fcn.00409e20
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0040a110
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040a1e0
lea ecx, [ebp - 0x18]
call fcn.0040a110
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x18]
call fcn.0040a1e0
lea ecx, [ebp - 0x18]
call fcn.0040a110
cmp byte [edi + 1], 0
je 0x42d1f7
push 0x3f4
lea edx, [ebp - 0x3c]
push edx
call fcn.0040f2c0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call fcn.0040a1e0
mov eax, dword [ebp - 0x3c]
push eax
mov byte [ebp - 4], 5
call fcn.0096b321
add esp, 4
push 0x9d5888
lea ecx, [ebp - 0x18]
call fcn.0040a270
push 0
lea ecx, [ebp - 0x74]
push ecx
add edi, 0x10
push edi
call fcn.0040f1f0
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x18]
call fcn.0040a270
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 4]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push eax
push ecx
call edi
mov edx, dword [ebp - 0x18]
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, dword [esi]
push 0x110
push 0x2b4
lea eax, [ebp - 0x328]
push eax
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
pop esi
test eax, eax
je 0x42d255
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebx + 4]
push ecx
push edx
call edi
mov ecx, dword [ebp - 0x328]
push 0
push ecx
push 0x170
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x18]
push edx
call fcn.0096b321
mov eax, dword [ebp - 0x30]
push eax
call fcn.0096b321
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0096b321
mov edx, dword [ebp - 0x24]
push edx
call fcn.0096b321
mov ecx, dword [ebp - 0xc]
add esp, 0x10
pop edi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x42e830
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9d2324
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
or eax, 0xffffffff
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esi + 0x38]
mov dword [ebp - 0x10], esi
mov dword [esi], 0x10000
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
call fcn.00409cd0
lea ecx, [esi + 0x44]
mov dword [ebp - 4], ebx
call fcn.00409cd0
lea ecx, [esi + 0x50]
mov byte [ebp - 4], 1
call fcn.00409cd0
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
lea edi, [esi + 0x68]
mov ecx, edi
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], edi
call fcn.00409cd0
lea ecx, [edi + 0xc]
mov byte [ebp - 4], 4
call fcn.00409cd0
add edi, 0x18
mov ecx, edi
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], edi
call fcn.00409cd0
lea ecx, [edi + 0xc]
mov byte [ebp - 4], 6
call fcn.00409cd0
lea eax, [esi + 0x98]
push eax
call fcn.00408e50
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x4308b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
mov ecx, dword [eax]
cmp ecx, dword [edi + 0xb4]
jne 0x4308e0
cmp dword [eax + 8], 0xffffff65
jne 0x4308e0
movzx eax, word [eax + 0xc]
sub eax, 0x2d
je 0x43090a
sub eax, 0x14
je 0x4308e8
sub eax, 2
je 0x43090a
pop edi
xor al, al
pop esi
pop ebp
ret 8
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
je 0x4308e0
lea ecx, [edi + 0xb4]
call fcn.0042d4d0
pop edi
mov al, 1
pop esi
pop ebp
ret 8
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
je 0x4308e0
mov ecx, edi
call fcn.0042f820
pop edi
mov al, 1
pop esi
pop ebp
ret 8

Function at 0x434390
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push 0x4010
push 0x2b4
lea eax, [ebp - 0x2b4]
push eax
or ecx, 0x80
push ecx
push edx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2b0]
mov dword [ecx], edx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4343d0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
movzx eax, byte [ebp + 8]
sub esp, 0x2b4
neg eax
sbb eax, eax
and eax, 0xffffff01
add eax, 0x100
or eax, 0x4010
push eax
push 0x2b4
lea ecx, [ebp - 0x2b4]
push ecx
push 0x90
push 0x9d4858
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esp, ebp
pop ebp
ret 4