joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41fd60
Capabilities:
Get disk information

Disassembly:
push ebp
lea ebp, [esp - 0x808]
sub esp, 0x808
push 0xffffffffffffffff
push 0x5000a0
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x5500a4]
xor eax, ebp
mov dword [ebp + 0x804], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
lea eax, [ebp + 4]
push eax
push 0x3fe
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov ebx, eax
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x41fe27
lea edi, [ebp + 4]
mov dword [ebp], 0
xor esi, esi
mov dword [ebp - 0x14], edi
mov dword [ebp], esi
mov dword [ebp - 4], esi
cmp ebx, 0x3fe
jbe 0x41fe4c
xor ecx, ecx
lea eax, [ebx + 2]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004d7786
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, eax
mov esi, edi
mov dword [ebp], esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x41fe13
cmp eax, ebx
ja 0x41fe13
xor ecx, ecx
mov ebx, eax
mov dword [edi + eax*2], ecx
mov dword [ebp - 0x10], ebx
jmp 0x41fe70
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x41fe27
push edi
call fcn.004d6fb6
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x804]
xor ecx, ebp
call fcn.004d6ca5
lea esp, [ebp + 0x808]
pop ebp
ret
lea eax, [ebx + ebx]
cmp eax, 0x800
jae 0x41fee3
xor ecx, ecx
mov word [ebp + eax + 4], cx
add eax, 2
cmp eax, 0x800
jae 0x41fee3
mov word [ebp + eax + 4], cx
xor ecx, ecx
xor edi, edi
test ebx, ebx
je 0x41fec8
mov esi, dword [ebp - 0x14]
mov ebx, 2
mov eax, dword [ebp - 0x10]
cmp word [esi + ebx - 2], 0
jne 0x41febd
cmp ecx, edi
je 0x41febd
lea eax, [esi + ecx*2]
push eax
lea ecx, [ebp - 0x30]
call fcn.0040a850
mov byte [ebp - 4], 1
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.004151b0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0040a7c0
mov eax, dword [ebp - 0x10]
lea ecx, [edi + 1]
inc edi
add ebx, 2
cmp edi, eax
jb 0x41fe83
mov esi, dword [ebp]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x41fedc
push esi
call fcn.004d6fb6
add esp, 4
mov al, 1
jmp 0x41fe29
call fcn.004d735a
int3
Function at 0x421e60
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x5500a4]
xor eax, esp
mov dword [esp + 0x128], eax
push esi
push 0x110
lea eax, [esp + 0x18]
mov esi, ecx
push 0
push eax
call fcn.004d9580
add esp, 0xc
mov dword [esp + 0x10], 0x114
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x421ede
cmp dword [esp + 0x14], 6
jb 0x421ede
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0x207
push eax
push esi
push str.Progid
mov edx, str.SoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpUserChoice
mov ecx, 0x80000001
call fcn.00421cd0
add esp, 0xc
test al, al
je 0x421ede
cmp word [esi], 0
jne 0x421f36
lea eax, [esp + 8]
mov dword [esp + 8], 0x207
push eax
push esi
push 0
mov edx, str.http_shellopencommand
mov ecx, 0x80000000
call fcn.00421cd0
add esp, 0xc
test al, al
je 0x421f0a
cmp word [esi], 0
jne 0x421f36
lea eax, [esp + 8]
mov dword [esp + 8], 0x207
push eax
push esi
push 0
mov edx, str.SoftwareClasses.html
mov ecx, 0x80000001
call fcn.00421cd0
add esp, 0xc
test al, al
je 0x421f4b
cmp word [esi], 0
je 0x421f4b
mov al, 1
pop esi
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.004d6ca5
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x12c]
xor al, al
pop esi
xor ecx, esp
call fcn.004d6ca5
mov esp, ebp
pop ebp
ret
Function at 0x422520
Capabilities:
Check if file exists
Get file attributes
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x283c]
mov eax, 0x283c
call fcn.004d80c0
push 0xffffffffffffffff
push 0x500578
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x5500a4]
xor eax, ebp
mov dword [ebp + 0x2838], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0x2000
xor ebx, ebx
lea eax, [ebp + 0x630]
push ebx
push eax
call fcn.004d9580
add esp, 0xc
mov eax, 0x22
mov word [ebp + 0x630], ax
test esi, esi
je 0x422721
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
cmp eax, 1
jl 0x422721
push esi
call edi
cmp eax, 0xffa
jge 0x422721
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp + 0x630]
push eax
call esi
push 0x52a9b4
lea eax, [ebp + 0x630]
push eax
call esi
push 0x52aa00
lea ecx, [ebp - 0x2c]
call fcn.0040a850
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x2c]
push eax
call fcn.0041a7c0
mov ecx, eax
call fcn.0041a880
mov esi, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040a7c0
test esi, esi
je 0x422721
push 0x52b570
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x422721
lea ecx, [ebp]
call fcn.00421f60
xor edi, edi
lea esi, [ebp]
cmp word [esi], 0
je 0x422646
push 1
push 0
lea eax, [ebp + 0x630]
push eax
push esi
push str.open
push 0
call dword [ebp - 0x10]
cmp eax, 0x20
ja 0x422654
inc edi
add esi, 0x210
cmp edi, 3
jl 0x422625
jmp 0x422676
imul ebx, edi, 0x210
cmp dword [ebp + ebx + 0x208], 0
mov ebx, dword [ebp + ebx + 0x20c]
jne 0x42266e
add ebx, 0x10
test ebx, ebx
jne 0x42271d
mov edi, dword [ebp - 0x10]
lea eax, [ebp + 0x630]
push 1
push 0
push 0
push eax
push str.open
push 0
call edi
cmp eax, 0x20
ja 0x422718
mov dword [ebp - 0x14], str._programfiles_x86__Internet_Exploreriexplore.exe
xor esi, esi
mov dword [ebp - 0x10], str._programfiles_Internet_Exploreriexplore.exe
nop dword [eax + eax]
push 0x208
lea eax, [ebp + 0x2630]
push 0
push eax
call fcn.004d9580
add esp, 0xc
lea eax, [ebp + 0x2630]
push 0x103
push eax
push dword [ebp + esi*4 - 0x14]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea eax, [ebp + 0x2630]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42270e
push 1
push 0
lea eax, [ebp + 0x630]
push eax
lea eax, [ebp + 0x2630]
push eax
push str.open
push 0
call edi
cmp eax, 0x20
ja 0x422718
inc esi
cmp esi, 2
jb 0x4226b0
mov eax, ebx
jmp 0x422723
mov ebx, 0x10
mov eax, ebx
jmp 0x422723
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2838]
xor ecx, ebp
call fcn.004d6ca5
lea esp, [ebp + 0x283c]
pop ebp
ret
Function at 0x425e00
Capabilities:
Check os version

Disassembly:
sub esp, 0x118
mov eax, dword [0x5500a4]
xor eax, esp
mov dword [esp + 0x114], eax
push esi
mov esi, ecx
mov dword [esp + 4], 0x114
push 0x110
lea eax, [esp + 0xc]
push 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov byte [esi], 0
call fcn.004d9580
add esp, 0xc
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
mov eax, esi
je 0x425e97
cmp dword [esp + 8], 6
jb 0x425e97
mov byte [esi], 1
mov ecx, dword [esp + 0x118]
pop esi
xor ecx, esp
call fcn.004d6ca5
add esp, 0x118
ret

Function at 0x425eb0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x500b20
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x5500a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push str.wintrust.dll
lea ecx, [ebp - 0x28]
call fcn.0040a850
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.0041a7c0
mov ecx, eax
call fcn.0041a880
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0040a7c0
push str.crypt32.dll
lea ecx, [ebp - 0x40]
call fcn.0040a850
mov dword [ebp - 4], 1
lea eax, [ebp - 0x40]
push eax
call fcn.0041a7c0
mov ecx, eax
call fcn.0041a880
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0040a7c0
test ebx, ebx
je 0x425fc5
test esi, esi
je 0x425fc5
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CryptCATAdminCalcHashFromFileHandle
push ebx
call esi
push str.CryptCATAdminAcquireContext
push ebx
mov dword [edi + 4], eax
call esi
push str.CryptCATAdminEnumCatalogFromHash
push ebx
mov dword [edi + 8], eax
call esi
push str.CryptCATCatalogInfoFromContext
push ebx
mov dword [edi + 0xc], eax
call esi
push str.CryptCATAdminReleaseCatalogContext
push ebx
mov dword [edi + 0x10], eax
call esi
push str.CryptCATAdminReleaseContext
push ebx
mov dword [edi + 0x14], eax
call esi
push str.WTHelperProvDataFromStateData
push ebx
mov dword [edi + 0x18], eax
call esi
push str.WTHelperGetProvSignerFromChain
push ebx
mov dword [edi + 0x1c], eax
call esi
push str.WinVerifyTrust
push ebx
mov dword [edi + 0x20], eax
call esi
push str.CertNameToStrW
push dword [ebp - 0x10]
mov dword [edi + 0x24], eax
call esi
mov dword [edi + 0x28], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x439860
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5040b7
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x5500a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
push 0x18
mov byte [edi], 0
call fcn.004d6cb6
add esp, 4
mov dword [edi + 4], eax
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [ebp - 4], 0
lea esi, [edi + 8]
push 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0043b0c0
mov dword [esi], eax
mov byte [ebp - 4], 3
lea esi, [edi + 0x10]
push 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0043b0c0
mov dword [esi], eax
mov byte [ebp - 4], 6
lea ecx, [edi + 0x20]
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
call fcn.0040a890
mov byte [ebp - 4], 7
lea ecx, [edi + 0x38]
call fcn.004397c0
mov byte [ebp - 4], 8
lea esi, [edi + 0xb8]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.0040a890
mov byte [ebp - 4], 9
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov byte [esi + 0x30], 0
mov byte [ebp - 4], 0xa
lea ecx, [edi + 0xf0]
call fcn.0040a890
mov byte [ebp - 4], 0xb
mov dword [edi + 0x118], 0
mov dword [edi + 0x11c], 0xf
mov byte [edi + 0x108], 0
mov byte [ebp - 4], 0xc
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 0xf
mov byte [edi + 0x120], 0
mov dword [ebp - 4], 0xffffffff
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x443a10
Capabilities:
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x30]
sub esp, 0x30
push 0xffffffffffffffff
push 0x505506
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x5500a4]
xor eax, ebp
mov dword [ebp + 0x2c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x38]
mov edi, dword [esi]
test edi, edi
jne 0x443a53
xor al, al
jmp 0x443c16
lea eax, [edi + 0x38]
push eax
lea ecx, [ebp - 0x8c]
call fcn.00443c40
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.0040a730
test al, al
jne 0x443bd9
lea ecx, [ebp - 0x44]
call fcn.0040a730
test al, al
jne 0x443bd9
cmp dword [ebp - 0x2c], 0
jne 0x443bab
mov edx, dword [esi + 8]
mov eax, edx
mov ecx, dword [esi + 0xc]
or eax, ecx
jne 0x443b48
lea eax, [ebp]
xorps xmm0, xmm0
push eax
mov ecx, edi
movlpd qword [ebp + 0x24], xmm0
call fcn.0043acc0
mov byte [ebp - 4], 1
lea ecx, [ebp]
call fcn.0040a730
test al, al
jne 0x443b2c
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
lea ecx, [ebp]
call fcn.0040a750
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x443b2c
test edi, edi
je 0x443b2c
push 0
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp + 0x18]
mov dword [ebp + 0x18], 0
push eax
push 8
lea eax, [ebp + 0x24]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x443b25
xorps xmm0, xmm0
movlpd qword [ebp + 0x24], xmm0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x28]
mov byte [ebp - 4], 0
lea ecx, [ebp]
call fcn.0040a7c0
mov dword [esi + 8], edi
mov edx, edi
mov dword [esi + 0xc], ebx
mov ecx, ebx
or edx, ecx
je 0x443bd2
lea ecx, [ebp + 0x1c]
call fcn.004afce0
mov ecx, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
cmp edx, esi
ja 0x443b6e
jb 0x443bd2
cmp eax, ecx
jb 0x443bd2
push esi
push ecx
push edx
push eax
call fcn.00443ee0
test al, al
je 0x443bd9
lea ecx, [ebp + 0x1c]
call fcn.004afec0
test eax, eax
js 0x443bd2
lea ecx, [ebp + 0x1c]
call fcn.004afec0
cmp eax, 3
jg 0x443bd2
call fcn.004e083a
xor edx, edx
mov ecx, 0xf0
div ecx
cmp edx, 1
jne 0x443bd9
mov bl, dl
jmp 0x443bdb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x443bd6
cmp ecx, eax
jbe 0x443bd6
sub ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
add edx, 2
cmp edx, dword [ebp - 0x2c]
jb 0x443bd9
mov bl, 1
jmp 0x443bdb
mov dword [esi + 0x10], ecx
xor bl, bl
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.0040a7c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5c]
call fcn.0040a7c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x74]
call fcn.0040a7c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8c]
call fcn.0040a7c0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2c]
xor ecx, ebp
call fcn.004d6ca5
lea esp, [ebp + 0x30]
pop ebp
ret 4
Function at 0x443cf0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505588
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x5500a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
mov dword [esi + 0x10], eax
call fcn.004e08ec
mov ecx, dword [esi]
add esp, 4
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
test ecx, ecx
je 0x443dca
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x1c], edx
call fcn.0043acc0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.0040a730
test al, al
jne 0x443dbb
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x38]
call fcn.0040a750
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x443dbb
test esi, esi
je 0x443dbb
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 8
lea eax, [ebp - 0x20]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0040a7c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d6ca5
mov esp, ebp
pop ebp
ret 4
Function at 0x447010
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505c0d
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x5500a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
call fcn.0040a890
mov dword [ebp - 4], 0
lea ecx, [esi + 0x18]
call fcn.0040a890
mov byte [ebp - 4], 1
lea ecx, [esi + 0x30]
call fcn.0040a890
mov byte [ebp - 4], 2
lea ecx, [esi + 0x48]
call fcn.0040a890
mov byte [ebp - 4], 3
lea ecx, [esi + 0x60]
call fcn.0040a890
mov byte [ebp - 4], 4
lea ecx, [esi + 0x78]
call fcn.0040a890
mov byte [ebp - 4], 5
lea ecx, [esi + 0x90]
call fcn.0040a890
mov byte [ebp - 4], 6
lea ecx, [esi + 0xa8]
call fcn.0040a890
mov byte [ebp - 4], 7
lea ecx, [esi + 0xc0]
call fcn.0040a890
mov byte [ebp - 4], 8
lea ecx, [esi + 0xd8]
call fcn.0040a890
mov byte [ebp - 4], 9
lea ecx, [esi + 0xf0]
call fcn.0040a890
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x108]
call fcn.0040a890
mov byte [ebp - 4], 0xb
lea ecx, [esi + 0x120]
call fcn.0040a890
mov byte [ebp - 4], 0xc
lea ecx, [esi + 0x138]
call fcn.0040a890
mov byte [ebp - 4], 0xd
lea ecx, [esi + 0x150]
call fcn.0040a890
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x168]
call fcn.0040a890
mov byte [ebp - 4], 0xf
lea ecx, [esi + 0x180]
call fcn.0040a890
mov byte [ebp - 4], 0x10
lea ecx, [esi + 0x198]
call fcn.0040a890
mov byte [ebp - 4], 0x11
lea ecx, [esi + 0x1b0]
call fcn.0040a890
mov byte [ebp - 4], 0x12
lea ecx, [esi + 0x1c8]
call fcn.0040a890
mov byte [ebp - 4], 0x13
lea ecx, [esi + 0x1e0]
call fcn.0040a890
mov byte [ebp - 4], 0x14
lea ecx, [esi + 0x1f8]
call fcn.0040a890
mov byte [ebp - 4], 0x15
lea ecx, [esi + 0x210]
call fcn.0040a890
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4471a0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505c0d
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x5500a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0x15
lea ecx, [esi + 0x210]
call fcn.0040a7c0
mov byte [ebp - 4], 0x14
lea ecx, [esi + 0x1f8]
call fcn.0040a7c0
mov byte [ebp - 4], 0x13
lea ecx, [esi + 0x1e0]
call fcn.0040a7c0
mov byte [ebp - 4], 0x12
lea ecx, [esi + 0x1c8]
call fcn.0040a7c0
mov byte [ebp - 4], 0x11
lea ecx, [esi + 0x1b0]
call fcn.0040a7c0
mov byte [ebp - 4], 0x10
lea ecx, [esi + 0x198]
call fcn.0040a7c0
mov byte [ebp - 4], 0xf
lea ecx, [esi + 0x180]
call fcn.0040a7c0
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x168]
call fcn.0040a7c0
mov byte [ebp - 4], 0xd
lea ecx, [esi + 0x150]
call fcn.0040a7c0
mov byte [ebp - 4], 0xc
lea ecx, [esi + 0x138]
call fcn.0040a7c0
mov byte [ebp - 4], 0xb
lea ecx, [esi + 0x120]
call fcn.0040a7c0
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x108]
call fcn.0040a7c0
mov byte [ebp - 4], 9
lea ecx, [esi + 0xf0]
call fcn.0040a7c0
mov byte [ebp - 4], 8
lea ecx, [esi + 0xd8]
call fcn.0040a7c0
mov byte [ebp - 4], 7
lea ecx, [esi + 0xc0]
call fcn.0040a7c0
mov byte [ebp - 4], 6
lea ecx, [esi + 0xa8]
call fcn.0040a7c0
mov byte [ebp - 4], 5
lea ecx, [esi + 0x90]
call fcn.0040a7c0
mov byte [ebp - 4], 4
lea ecx, [esi + 0x78]
call fcn.0040a7c0
mov byte [ebp - 4], 3
lea ecx, [esi + 0x60]
call fcn.0040a7c0
mov byte [ebp - 4], 2
lea ecx, [esi + 0x48]
call fcn.0040a7c0
mov byte [ebp - 4], 1
lea ecx, [esi + 0x30]
call fcn.0040a7c0
mov byte [ebp - 4], 0
lea ecx, [esi + 0x18]
call fcn.0040a7c0
mov dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.0040a7c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4485e0
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x174
mov eax, dword [0x5500a4]
xor eax, esp
mov dword [esp + 0x170], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
push 0x118
mov dword [esp + 0x14], eax
lea eax, [esp + 0x60]
push 0
push eax
mov dword [esp + 0x64], 0x11c
call fcn.004d9580
lea eax, [esp + 0x64]
push eax
call fcn.0041f670
add esp, 0x10
test al, al
je 0x448693
push dword [esp + 0x60]
push dword [esp + 0x60]
push 0x52c324
push ebx
call fcn.00413470
call fcn.0041f5e0
test al, al
mov edx, 0x40
mov ecx, 0x20
cmovne ecx, edx
push ecx
push 0x52b938
push dword [esp + 0x28]
call fcn.00413470
lea eax, [esp + 0x88]
push eax
call fcn.0040acf0
mov ecx, dword [esp + 0x34]
add esp, 0x20
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0040ab90
push 0x40
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.004d9580
add esp, 0xc
mov dword [esp + 0x18], 0x40
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push 0x52b938
push edi
call fcn.00413470
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
push 0x52b938
push esi
call fcn.00413470
mov ecx, dword [esp + 0x188]
add esp, 0xc
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004d6ca5
mov esp, ebp
pop ebp
ret 0x14
Function at 0x44ede0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x507073
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x5500a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
push 0
push 0
mov dword [ebp - 0x14], edi
mov dword [edi], 0
mov dword [edi + 4], 0
call fcn.0043b0c0
mov dword [edi], eax
mov dword [ebp - 4], 2
lea esi, [edi + 8]
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00453590
mov dword [esi], eax
mov byte [ebp - 4], 5
lea esi, [edi + 0x10]
push 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004534f0
mov dword [esi], eax
mov byte [ebp - 4], 8
lea esi, [edi + 0x18]
mov dword [ebp - 0x14], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00453590
mov dword [esi], eax
mov byte [ebp - 4], 0xb
lea esi, [edi + 0x20]
mov dword [ebp - 0x14], esi
mov ecx, esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00453440
mov dword [esi], eax
mov byte [ebp - 4], 0xe
lea esi, [edi + 0x28]
push 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004533a0
mov dword [esi], eax
mov byte [ebp - 4], 0x11
lea esi, [edi + 0x30]
push 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004533a0
mov dword [esi], eax
mov byte [ebp - 4], 0x14
lea esi, [edi + 0x38]
mov dword [ebp - 0x14], esi
mov dword [esi], 0
push 0
push 0
mov dword [esi + 4], 0
call fcn.004533a0
mov dword [esi], eax
mov byte [ebp - 4], 0x17
lea esi, [edi + 0x40]
mov ecx, esi
mov dword [ebp - 0x14], esi
call fcn.0040a890
mov byte [ebp - 4], 0x18
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov byte [esi + 0x30], 0
mov byte [ebp - 4], 0x19
lea ecx, [edi + 0x78]
call fcn.0040a890
mov dword [ebp - 4], 0xffffffff
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret