joyce8/EMBER2024-capa huggingface dataset:
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 0x9c38e3
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.0095da5f
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 [0xa00a70]
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 0x9c3dde
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.0095d9a1
mov eax, dword [esi + 0xc0]
push eax
call fcn.0095d9a1
mov eax, dword [esi + 0x9c]
push eax
call fcn.0095d9a1
mov eax, dword [esi + 0x90]
push eax
call fcn.0095d9a1
mov eax, dword [esi + 0x30]
push eax
call fcn.0095d9a1
mov eax, dword [esi + 0x24]
push eax
call fcn.0095d9a1
mov eax, dword [esi + 0x18]
push eax
call fcn.0095d9a1
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 0x9c42db
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 0x9c4345
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 0x9c4482
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 0x9c46fa
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 0x42d090
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c4948
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.0095d9a1
mov edx, dword [ebp - 0x3c]
push edx
mov byte [ebp - 4], 0
call fcn.0095d9a1
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.0095d9a1
add esp, 4
push 0x9c7888
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.0095d9a1
mov eax, dword [ebp - 0x30]
push eax
call fcn.0095d9a1
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0095d9a1
mov edx, dword [ebp - 0x24]
push edx
call fcn.0095d9a1
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 0x9c49c4
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 0x435110
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 0x435150
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 0x9c6858
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esp, ebp
pop ebp
ret 4
Function at 0x4353c0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c4ce8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x57c
mov edx, dword [ebp + 0xc]
movzx eax, word [edx]
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
xor edi, edi
or esi, 0xffffffff
xor ecx, ecx
cmp ax, di
je 0x435409
cmp ax, 0x2e
jne 0x4353fe
mov esi, ecx
movzx eax, word [edx + ecx*2 + 2]
inc ecx
cmp ax, di
jne 0x4353f6
mov ebx, dword [ebp + 8]
test bl, 0x10
jne 0x435535
cmp esi, edi
jl 0x435535
lea esi, [edx + esi*2]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x10]
lea eax, [ebp + 0xc]
push eax
mov dword [ebp + 8], esi
add esi, 2
push esi
add edi, 0xc
push edi
call fcn.00435200
test eax, eax
js 0x435459
mov ecx, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + 0xc]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
movzx eax, word [esi]
xor ecx, ecx
test ax, ax
je 0x4354d2
add eax, 0xffffffd0
cmp ax, 9
ja 0x435477
movzx eax, word [esi + ecx*2 + 2]
inc ecx
test ax, ax
jne 0x435463
test ecx, ecx
je 0x4354d2
cmp word [esi + ecx*2], 0
jne 0x4354d2
mov esi, dword [ebp - 0x10]
cmp dword [esi + 0x1c], 0
jne 0x4354bc
push 0x4010
push 0x2b4
lea eax, [ebp - 0x2d4]
push eax
push 0x80
push str.__FILE__.001
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp - 0x2d0]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], 1
mov eax, dword [esi + 0x18]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x20]
call fcn.00409cd0
push esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0
call fcn.00409ed0
mov eax, dword [ebp + 8]
push 0x4010
push 0x2b4
lea edx, [ebp - 0x2d4]
push edx
or ebx, 0x80
push ebx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x20]
push edx
mov dword [ebp - 0x14], ecx
push eax
mov ecx, edi
call fcn.004352f0
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
push ecx
call fcn.0095d9a1
add esp, 4
jmp 0x43559b
mov edx, dword [ebp - 0x10]
mov esi, dword [edx + 4]
mov dword [ebp + 0xc], edi
test esi, esi
je 0x43555f
mov eax, edx
mov edx, dword [eax]
lea eax, [esi + edi]
shr eax, 1
mov ecx, dword [edx + eax*8]
cmp ebx, ecx
je 0x4355b0
jae 0x435558
mov esi, eax
jmp 0x43555b
lea edi, [eax + 1]
cmp edi, esi
jne 0x435546
mov dword [ebp + 0xc], edi
push 0x4010
push 0x2b4
lea ecx, [ebp - 0x588]
push ecx
mov edx, ebx
or edx, 0x80
push edx
push str.__DIR__
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esi, dword [ebp - 0x584]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
push esi
push ebx
push eax
call fcn.00435260
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
test eax, eax
js 0x435562
mov ecx, dword [ebp - 0xc]
mov eax, dword [edx + eax*8 + 4]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
Function at 0x435fb0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c4dfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
xor ebx, ebx
push esi
mov esi, ecx
lea ecx, [esi + 0x14]
mov dword [ebp - 0x10], esi
mov dword [esi], ebx
mov word [esi + 4], bx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
call fcn.00409cd0
mov word [esi + 0x20], bx
mov word [esi + 0x22], bx
mov word [esi + 0x24], bx
mov word [esi + 0x26], bx
mov word [esi + 0x28], bx
mov al, 1
lea ecx, [esi + 0x30]
mov dword [ebp - 4], ebx
mov word [esi + 0x2a], bx
mov byte [esi + 0x22], al
mov byte [esi + 0x24], bl
mov byte [esi + 0x26], al
mov byte [esi + 0x28], al
mov dword [esi + 0x2c], 0x100
call fcn.00409cd0
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x3c], ebx
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x471960
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c503b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
mov esi, ecx
push edi
lea ecx, [esi + 4]
mov dword [ebp - 0x14], esi
mov dword [esi], 0x9c9934
call fcn.00970424
push 4
mov dword [ebp - 4], 0
call fcn.0095da5f
mov edi, eax
add esp, 4
test edi, edi
je 0x4719d7
push ebx
call fcn.009700e2
mov dword [edi], eax
call fcn.0096fea1
push 0
lea ecx, [ebp - 0x10]
mov ebx, eax
call fcn.0096fdd6
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
jae 0x4719cc
inc eax
mov dword [ebx + 4], eax
lea ecx, [ebp - 0x10]
call fcn.0096fdfe
pop ebx
jmp 0x4719d9
xor edi, edi
mov dword [esi + 0x38], edi
lea eax, [esi + 8]
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x18]
mov dword [esi + 0x20], ecx
lea edx, [esi + 0x1c]
mov dword [esi + 0x24], edx
lea eax, [esi + 0xc]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x28]
mov dword [esi + 0x30], ecx
lea edx, [esi + 0x2c]
mov dword [esi + 0x34], edx
mov dword [eax], 0
mov eax, dword [esi + 0x24]
mov dword [eax], 0
mov ecx, dword [esi + 0x34]
mov dword [ecx], 0
mov edx, dword [esi + 0x10]
mov dword [edx], 0
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov ecx, dword [esi + 0x30]
mov dword [ecx], 0
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 0x472fa0
Capabilities:
Access peb ldr_data
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c519b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push esi
mov esi, ecx
lea ecx, [esi + 0x14]
xor eax, eax
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], eax
mov dword [ebp - 0x10], esi
mov byte [ecx], al
push eax
push 0x9c99c9
mov dword [ebp - 4], eax
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
call fcn.00472a20
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret