joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4a7aec
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeec
push ebx
xor ebx, ebx
mov dword [ebp - 0x114], 0x114
lea eax, [ebp - 0x114]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x4a7b38
cmp dword [ebp - 0x104], 2
jne 0x4a7b38
cmp dword [ebp - 0x110], 5
ja 0x4a7b36
cmp dword [ebp - 0x110], 5
jne 0x4a7b38
cmp dword [ebp - 0x10c], 1
jb 0x4a7b38
mov bl, 1
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4a85ac
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
xor edx, edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4a8682
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 8], 0xffffffff
lea eax, [ebp - 4]
mov edx, ebx
call fcn.00406664
lea eax, [ebp - 4]
call fcn.00407068
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.0040669c
push eax
call sub.version.dll_GetFileVersionInfoSizeW
mov ebx, eax
test ebx, ebx
je 0x4a866c
mov eax, ebx
call fcn.00403030
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4a8665
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
push eax
push ebx
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.0040669c
push eax
call sub.version.dll_GetFileVersionInfoW
test eax, eax
je 0x4a864f
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x4a8694
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueW
test eax, eax
je 0x4a864f
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a866c
mov eax, dword [ebp - 0x10]
call fcn.0040304c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a8689
lea eax, [ebp - 4]
call fcn.00406600
ret

Function at 0x4b3ea0
Capabilities:
Hash data with crc32

Disassembly:
push esi
xor esi, esi
mov ecx, 0x556354
mov eax, esi
mov edx, 8
test al, 1
je 0x4b3ebc
shr eax, 1
xor eax, 0xedb88320
jmp 0x4b3ebe
shr eax, 1
dec edx
jne 0x4b3eaf
mov dword [ecx], eax
inc esi
add ecx, 4
cmp esi, 0x100
jne 0x4b3ea8
pop esi
ret

Function at 0x4b3ed4
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
mov ebx, eax
cmp dword [0x556350], 0
jne 0x4b3ef7
call fcn.004b3ea0
push 1
push 0x556350
call sub.kernel32.dll_InterlockedExchange
mov eax, edi
test esi, esi
je 0x4b3f22
mov edx, ebx
and edx, 0xff
movzx ecx, byte [eax]
xor dx, cx
movzx edx, dx
mov edx, dword [edx*4 + 0x556354]
shr ebx, 8
xor edx, ebx
mov ebx, edx
dec esi
inc eax
test esi, esi
jne 0x4b3efd
mov eax, ebx
pop edi
pop esi
pop ebx
ret

Function at 0x4b4cc8
Capabilities:
Hash data with md5

Disassembly:
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
xor edx, edx
mov dword [eax + 0x10], edx
xor edx, edx
mov dword [eax + 0x14], edx
ret
Function at 0x4b5e18
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov esi, edx
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b5e39
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4b5e85
xor eax, eax
push ebp
push 0x4b5e75
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.0040669c
push eax
call sub.kernel32.dll_DeleteFileW
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b5e7c
lea eax, [ebp - 0xc]
call fcn.004b5c70
ret
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4b5ff0
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov esi, edx
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b6013
mov dword [ebp - 4], 0xffffffff
jmp 0x4b605f
xor eax, eax
push ebp
push 0x4b604f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.0040669c
push eax
call sub.kernel32.dll_GetFileAttributesW
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6056
lea eax, [ebp - 0xc]
call fcn.004b5c70
ret
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4b6194
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b61b8
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4b620c
xor eax, eax
push ebp
push 0x4b61fc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.0040669c
push eax
mov eax, esi
call fcn.0040669c
push eax
call sub.kernel32.dll_MoveFileW
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6203
lea eax, [ebp - 0xc]
call fcn.004b5c70
ret
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4b6218
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov esi, dword [ebp + 8]
test edi, edi
jne 0x4b623b
test esi, 4
je 0x4b623b
xor edi, edi
jmp 0x4b6244
mov eax, edi
call fcn.0040669c
mov edi, eax
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b6259
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4b62a8
xor eax, eax
push ebp
push 0x4b6298
push dword fs:[eax]
mov dword fs:[eax], esp
push esi
push edi
mov eax, dword [ebp - 4]
call fcn.0040669c
push eax
call sub.kernel32.dll_MoveFileExW
mov dword [ebp - 8], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b629f
lea eax, [ebp - 0x10]
call fcn.004b5c70
ret
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4b6324
Capabilities:
Delete directory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov esi, edx
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b6345
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4b6391
xor eax, eax
push ebp
push 0x4b6381
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.0040669c
push eax
call sub.kernel32.dll_RemoveDirectoryW
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6388
lea eax, [ebp - 0xc]
call fcn.004b5c70
ret
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4b639c
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004b5c34
test al, al
jne 0x4b63c0
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4b640d
xor eax, eax
push ebp
push 0x4b63fd
push dword fs:[eax]
mov dword fs:[eax], esp
push edi
mov eax, esi
call fcn.0040669c
push eax
call sub.kernel32.dll_SetFileAttributesW
mov dword [ebp - 4], eax
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6404
lea eax, [ebp - 0xc]
call fcn.004b5c70
ret
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4b6f50
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4b6f58
push ecx
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x4b7045
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
call fcn.0047a104
mov edx, dword [ebp - 8]
mov ecx, 0x4b7060
xor eax, eax
call fcn.004b6cb8
push 0
mov eax, dword [ebp - 4]
call fcn.0040669c
push eax
call sub.kernel32.dll_CreateDirectoryW
test eax, eax
jne 0x4b7013
call sub.kernel32.dll_GetLastError
mov ebx, eax
cmp ebx, 0xb7
je 0x4b6f72
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov al, 0x35
call fcn.004b45dc
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x20]
call fcn.0040decc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x24]
mov eax, ebx
call fcn.0047b0b8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x18]
mov ecx, 2
mov al, 0x67
call fcn.004b45ac
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x40b778]
call fcn.00412bb4
call fcn.00404c3c
jmp 0x4b6f72
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00406610
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b704c
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00406608
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00406608
ret
Function at 0x5097d0
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov word [ebp - 0x3b6], dx
mov eax, 0x65
mov word [ebp - 0x3b4], ax
mov ecx, 0x6c
mov word [ebp - 0x3b2], cx
mov edx, 0x33
mov word [ebp - 0x3b0], dx
mov eax, 0x32
mov word [ebp - 0x3ae], ax
mov ecx, 0x2e
mov word [ebp - 0x3ac], cx
mov edx, 0x64
mov word [ebp - 0x3aa], dx
mov eax, 0x6c
mov word [ebp - 0x3a8], ax
mov ecx, 0x6c
mov word [ebp - 0x3a6], cx
xor edx, edx
mov word [ebp - 0x3a4], dx
push eax
and eax, 0xc734
and eax, 0x5822
and eax, 0x13b6b
pop eax
push edx
push esi
add esp, 4
or edx, 0xb893
add edx, 0x101a1
or edx, 0x98eb
or edx, 0x16eca
pop edx
mov byte [ebp - 0x154], 0x4c
mov byte [ebp - 0x153], 0x6f
mov byte [ebp - 0x152], 0x61
invalid
invalid
scasd eax, dword es:[edi]
invalid
invalid

Function at 0x509950
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
cmp al, byte [ebx - 0x307efb3c]
shr byte [ecx + 1], 0

Function at 0x509951
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
cmp al, byte [ebx - 0x307efb3c]
shr byte [ecx + 1], 0

Function at 0x509968
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x5099ac
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x5099ed
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x509a2e
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x509a7c
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x509ab5
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid
Function at 0x509ace
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
and ecx, 0x9b4b
pop ecx
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x488], edx
push esi
or esi, 0x11317
pop esi
push eax
push edx
add esp, 4
and eax, 0x797f
jmp 0x509998
sub eax, 0x6327
call 0x5099ac
add byte [edi], bh
cmp dword [edi], esi
inc edx
cmp eax, dword [ebp + 0x37]
xor al, 0x83
les eax, [eax + ebx*2]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0
jne 0x509a06
push ebx
add ebx, 0x1854b
and ebx, 0xd341
xor ebx, 0xbc85
pop ebx
push esi
sub esi, 0xa400
call 0x5099ed
add byte [edi + 0x463c3e37], dh
inc ebp
add esp, 4
or esi, 0xac54
pop esi
mov dword [ebp - 0x118], 0
jmp 0x509d9b
push esi
xor esi, 0x1fe7
sub esi, 0x54aa
or esi, 0x15946
pop esi
push esi
push esi
add esp, 4
call 0x509a2e
add byte [ecx], bh
dec eax
inc ecx
inc eax
dec ebx
inc esp
xor cl, byte [esi - 0x7d]
les eax, [ecx + eax*4]
out dx, al
cmpsd dword [esi], dword es:[edi]
pop ebx
add dword [eax], eax
pop esi
mov ecx, dword [ebp - 0x374]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x509a94
push ebx
push ecx
add esp, 4
xor ebx, 0xfba4
add ebx, 0x162c0
add ebx, 0x7e43
pop ebx
push ecx
push ebx
add esp, 4
call 0x509a7c
add byte [ecx + 0x32], cl
cmp ecx, dword [esi + 0x43]
inc esi
add esp, 4
jmp 0x509a84
pop ecx
mov dword [ebp - 0x118], 0
jmp 0x509d9b
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0xc0], ecx
push ecx
push ecx
add esp, 4
call 0x509ab5
add byte [edx + 0x4c], cl
dec esi
inc ebx
inc ecx
xor eax, 0x454d4046
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
call 0x509ace
add byte [edi + 0x35], cl
cmp byte [eax], bh
inc ebx
dec esp
inc ebp
inc ebx
cmp eax, dword [ebx - 0x72a7fb3c]
xchg ebp, eax
inc esp
cld
invalid