joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001b120
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov ecx, 0x1010ae29
mov dword [esp + 0xc], esi
call fcn.100b1e70
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
test eax, eax
jg 0x1001b15c
jl 0x1001b14f
test ecx, ecx
jne 0x1001b15c
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebx + 0x38], 0
je 0x1001b176
push eax
push ecx
push esi
mov ecx, ebx
call dword [sym.imp.MSVCP140D.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char___long_long___int64__]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x1c]
mov edi, ecx
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1001b1c9
mov eax, dword [ebx + 0x2c]
lea edx, [ebx + 0x2c]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
test eax, eax
je 0x1001b1d0
mov edi, dword [esp + 0xc]
cmp eax, ecx
mov esi, ecx
cmovb esi, eax
push esi
push dword [esp + 0x14]
push edi
call sub.VCRUNTIME140D.dll_memcpy
mov eax, dword [ebx + 0x2c]
add edi, esi
mov dword [esp + 0x18], edi
add esp, 0xc
mov edi, dword [ebp + 0xc]
sub edi, esi
sub dword [eax], esi
mov eax, dword [ebx + 0x1c]
add dword [eax], esi
mov esi, dword [esp + 0xc]
jmp 0x1001b1d0
lea eax, [ebx + 0x2c]
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x4c], 0
je 0x1001b246
mov ecx, dword [ebx + 0xc]
lea eax, [ebx + 0x3c]
cmp dword [ecx], eax
jne 0x1001b1fa
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebx + 0x1c]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [eax], edx
mov eax, dword [sym.imp.ucrtbased.dll_fread]
cmp edi, 0xfff
jbe 0x1001b234
nop word [eax + eax]
push dword [ebx + 0x4c]
push 0xfff
push 1
push esi
call eax
add esp, 0x10
add esi, eax
sub edi, eax
cmp eax, 0xfff
jne 0x1001b246
cmp edi, eax
mov eax, dword [sym.imp.ucrtbased.dll_fread]
ja 0x1001b210
test edi, edi
je 0x1001b246
push dword [ebx + 0x4c]
push edi
push 1
push esi
call eax
add esp, 0x10
sub edi, eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
sub eax, edi
pop edi
pop esi
sbb edx, 0
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x1001b6b0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x30
mov eax, dword [0x100fe040]
xor eax, esp
mov dword [esp + 0x2c], eax
push ebx
mov ebx, dword [esp + 0x38]
push esi
mov esi, ecx
mov ecx, 0x1010ae29
call fcn.100b1e70
cmp ebx, 0xffffffff
jne 0x1001b6ea
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
mov eax, dword [esi + 0x20]
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x1001b727
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
lea eax, [edi + ecx]
cmp ecx, eax
jae 0x1001b727
lea ecx, [edi - 1]
mov eax, ebx
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
pop edi
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
pop esi
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
cmp dword [esi + 0x4c], 0
je 0x1001b82f
mov edi, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [edi], eax
jne 0x1001b74f
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [edi], ecx
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x1001b784
push dword [esi + 0x4c]
movsx eax, bl
push eax
call dword [sym.imp.ucrtbased.dll_fputc]
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmove ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
lea eax, [esp + 0xc]
mov byte [esp + 0x17], bl
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140D.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet___char_const___char_const___char_const____char___char___char___const]
sub eax, 0
je 0x1001b7e9
sub eax, 1
je 0x1001b7e9
sub eax, 2
jne 0x1001b82f
mov edx, dword [esi + 0x4c]
mov cl, byte [esp + 0x17]
call fcn.1001a050
or ecx, 0xffffffff
test al, al
pop edi
cmove ebx, ecx
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
mov edi, dword [esp + 0xc]
lea eax, [esp + 0x18]
sub edi, eax
je 0x1001b809
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.ucrtbased.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x1001b82f
lea ecx, [esp + 0x17]
mov byte [esi + 0x3d], 1
or eax, 0xffffffff
cmp dword [esp + 0x10], ecx
pop edi
pop esi
cmovne eax, ebx
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
mov ecx, dword [esp + 0x38]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret 4
Function at 0x1001be80
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x28
mov eax, dword [0x100fe040]
xor eax, esp
mov dword [esp + 0x24], eax
push esi
mov esi, ecx
mov ecx, 0x1010ae29
call fcn.100b1e70
cmp dword [esi + 0x38], 0
je 0x1001bf4e
cmp byte [esi + 0x3d], 0
je 0x1001bf4e
mov eax, dword [esi]
mov ecx, esi
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x1001bf3b
mov ecx, dword [esi + 0x38]
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140D.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x1001beff
sub eax, 1
je 0x1001bf03
sub eax, 2
jne 0x1001bf3b
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.100afa20
add esp, 0x28
ret
mov byte [esi + 0x3d], 0
mov edi, dword [esp + 8]
lea eax, [esp + 0xc]
sub edi, eax
je 0x1001bf23
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.ucrtbased.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x1001bf3b
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.100afa20
add esp, 0x28
ret
pop edi
xor al, al
pop esi
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.100afa20
add esp, 0x28
ret
mov ecx, dword [esp + 0x28]
mov al, 1
pop esi
xor ecx, esp
call fcn.100afa20
add esp, 0x28
ret

Function at 0x1002a000
Capabilities:
Hash data with crc32

Disassembly:
push ebx
push esi
mov ebx, ecx
mov ecx, 0x1010c42b
push edi
call fcn.100b1e70
mov edi, 4
lea esi, [ebx + 4]
or eax, 0xffffffff
nop word [eax + eax]
jmp dword [edi*4 + 0x1002b258]
Function at 0x10035d90
Capabilities:
Read file on windows

Disassembly:
push esi
mov esi, ecx
mov ecx, 0x1010cb2b
push edi
call fcn.100b1e70
test esi, esi
jne 0x10035dba
push 0x610
push str.D:onistrix_2018imguiimgui.cpp
push str.filename__file_open_mode
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov edi, dword [esp + 0xc]
test edi, edi
je 0x10035dc8
mov dword [edi], 0
mov edx, 0x100ed518
mov ecx, esi
call fcn.10035be0
mov esi, eax
test esi, esi
jne 0x10035ddd
pop edi
pop esi
ret
push ebx
push ebp
mov ebp, dword [sym.imp.ucrtbased.dll_fseek]
push 2
push 0
push esi
call ebp
add esp, 0xc
test eax, eax
jne 0x10035e7b
push esi
call dword [sym.imp.ucrtbased.dll_ftell]
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x10035e7b
push 0
push 0
push esi
call ebp
add esp, 0xc
test eax, eax
jne 0x10035e7b
mov ecx, ebx
call fcn.1003a8d0
mov ebp, eax
test ebp, ebp
je 0x10035e7b
push esi
push ebx
push 1
push ebp
call dword [sym.imp.ucrtbased.dll_fread]
add esp, 0x10
push esi
cmp eax, ebx
je 0x10035e65
call dword [sym.imp.ucrtbased.dll_fclose]
mov eax, dword [0x1010223c]
add esp, 4
test eax, eax
je 0x10035e4e
dec dword [eax + 0x36c]
push dword [0x10102454]
push ebp
call dword [0x100fe33c]
add esp, 8
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
ret
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
test edi, edi
je 0x10035e74
mov dword [edi], ebx
mov eax, ebp
pop ebp
pop ebx
pop edi
pop esi
ret
push esi
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
ret
Function at 0x10039910
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push esi
mov esi, ecx
mov ecx, 0x1010cb2b
push edi
call fcn.100b1e70
cmp dword [esi + 0x1c0], 0
jg 0x1003993f
push 0x4b8
push str.D:onistrix_2018imguiimgui.h
push str.Size___0
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov ecx, dword [esi + 0x1c0]
mov edi, 4
mov eax, dword [esi + 0x1c8]
lea esi, [esp + 0xc]
mov eax, dword [eax + ecx*4 - 4]
not eax
nop word [eax + eax]
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100b90a0]
sub edi, 1
jne 0x10039960
mov ecx, dword [0x1010223c]
not eax
pop edi
pop esi
cmp dword [ecx + 0x19bc], eax
jne 0x10039992
mov dword [ecx + 0x19c4], eax
cmp dword [ecx + 0x19c0], eax
jne 0x100399a1
mov byte [ecx + 0x19d0], 1
ret 4

Function at 0x10039a10
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push esi
mov esi, ecx
mov ecx, 0x1010cb2b
push edi
call fcn.100b1e70
cmp dword [esi + 0x1c0], 0
jg 0x10039a3f
push 0x4b8
push str.D:onistrix_2018imguiimgui.h
push str.Size___0
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov ecx, dword [esi + 0x1c0]
mov edi, 4
mov eax, dword [esi + 0x1c8]
lea esi, [esp + 0xc]
mov eax, dword [eax + ecx*4 - 4]
not eax
nop word [eax + eax]
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100b90a0]
sub edi, 1
jne 0x10039a60
pop edi
pop esi
not eax
ret 4

Function at 0x10039a90
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub esp, 0x14
mov eax, dword [0x100fe040]
xor eax, esp
mov dword [esp + 0x10], eax
push esi
mov esi, ecx
mov ecx, 0x1010cb2b
push edi
call fcn.100b1e70
cmp dword [esi + 0x1c0], 0
jg 0x10039acd
push 0x4b8
push str.D:onistrix_2018imguiimgui.h
push str.Size___0
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov edi, 0x10
movss xmm0, dword [ecx]
subss xmm0, dword [esi + 0xc]
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 4]
subss xmm0, dword [esi + 0x10]
mov dword [esp + 8], eax
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 8]
subss xmm0, dword [esi + 0xc]
mov dword [esp + 0xc], eax
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 0xc]
subss xmm0, dword [esi + 0x10]
mov ecx, dword [esi + 0x1c0]
mov dword [esp + 0x10], eax
cvttss2si eax, xmm0
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x1c8]
lea esi, [esp + 8]
mov edx, dword [eax + ecx*4 - 4]
not edx
movzx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x100b90a0]
sub edi, 1
jne 0x10039b33
mov eax, dword [0x1010223c]
not edx
pop edi
pop esi
cmp dword [eax + 0x19bc], edx
jne 0x10039b64
mov dword [eax + 0x19c4], edx
cmp dword [eax + 0x19c0], edx
jne 0x10039b73
mov byte [eax + 0x19d0], 1
mov ecx, dword [esp + 0x10]
mov eax, edx
xor ecx, esp
call fcn.100afa20
add esp, 0x14
ret 4
Function at 0x1003c680
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x18
push ebx
push esi
push edi
mov edi, ecx
mov ecx, 0x1010cb2b
call fcn.100b1e70
cmp byte [edi], 0
jne 0x1003c6a0
cmp byte [edi + 0x2c4c], 0
je 0x1003c6b8
push 0xde7
push str.D:onistrix_2018imguiimgui.cpp
push str._g.Initialized___g.SettingsLoaded
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
or edx, 0xffffffff
mov dword [esp + 0x20], 0
mov dword [esp + 0xc], str.Window
mov esi, 0x100eb169
mov al, 0x57
or ebx, 0xffffffff
cmp al, 0x23
jne 0x1003c6e3
cmp byte [esi], al
jne 0x1003c6e3
cmp byte [esi + 1], al
cmove edx, ebx
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x100b90a0]
test al, al
jne 0x1003c6d5
mov esi, dword [edi + 0x2c60]
not edx
mov ecx, dword [edi + 0x2c64]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x1004fc20
mov dword [esp + 0x18], 0x1004fc80
mov dword [esp + 0x1c], 0x1004fd80
cmp esi, ecx
jne 0x1003c7c9
inc esi
test ecx, ecx
je 0x1003c73e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1003c743
mov eax, 8
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x1003c7c9
mov eax, dword [0x1010223c]
test eax, eax
je 0x1003c75b
inc dword [eax + 0x36c]
push dword [0x10102454]
lea eax, [esi + esi*2]
shl eax, 3
push eax
call dword [0x100fe338]
mov ebx, eax
add esp, 8
mov eax, dword [edi + 0x2c68]
test eax, eax
je 0x1003c7bd
mov ecx, dword [edi + 0x2c60]
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push eax
push ebx
call sub.VCRUNTIME140D.dll_memcpy
mov ecx, dword [edi + 0x2c68]
add esp, 0xc
test ecx, ecx
je 0x1003c7ad
mov eax, dword [0x1010223c]
test eax, eax
je 0x1003c7ad
dec dword [eax + 0x36c]
push dword [0x10102454]
push ecx
call dword [0x100fe33c]
add esp, 8
mov dword [edi + 0x2c68], ebx
mov dword [edi + 0x2c64], esi
mov eax, dword [edi + 0x2c60]
movups xmm0, xmmword [esp + 0xc]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x2c68]
movups xmmword [eax + ecx*8], xmm0
movq xmm0, qword [esp + 0x1c]
movq qword [eax + ecx*8 + 0x10], xmm0
inc dword [edi + 0x2c60]
mov byte [edi], 1
pop edi
pop esi
pop ebx
add esp, 0x18
ret
Function at 0x1004f320
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x1c
push ebx
push ebp
push esi
mov ebp, ecx
mov ecx, 0x1010cb2b
push edi
call fcn.100b1e70
mov esi, dword [0x1010223c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
mov edi, dword [esi + 0x2c6c]
mov ecx, dword [esi + 0x2c70]
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov byte [esp + 0x28], 0
cmp edi, ecx
jne 0x1004f428
inc edi
test ecx, ecx
je 0x1004f392
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1004f397
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x1004f428
test esi, esi
je 0x1004f3ae
inc dword [esi + 0x36c]
push dword [0x10102454]
lea eax, [edi*8]
sub eax, edi
shl eax, 2
push eax
call dword [0x100fe338]
mov ebx, eax
add esp, 8
mov eax, dword [esi + 0x2c74]
test eax, eax
je 0x1004f41c
mov ecx, dword [esi + 0x2c6c]
lea edx, [ecx*8]
sub edx, ecx
shl edx, 2
push edx
push eax
push ebx
call sub.VCRUNTIME140D.dll_memcpy
mov ecx, dword [esi + 0x2c74]
add esp, 0xc
test ecx, ecx
je 0x1004f40c
mov eax, dword [0x1010223c]
test eax, eax
je 0x1004f40c
dec dword [eax + 0x36c]
push dword [0x10102454]
push ecx
call dword [0x100fe33c]
add esp, 8
mov dword [esi + 0x2c74], ebx
mov dword [esi + 0x2c70], edi
mov eax, dword [esi + 0x2c6c]
mov ecx, dword [esi + 0x2c74]
movups xmm0, xmmword [esp + 0x10]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x28]
movups xmmword [ecx + edx*4], xmm0
movq xmm0, qword [esp + 0x20]
movq qword [ecx + edx*4 + 0x10], xmm0
mov dword [ecx + edx*4 + 0x18], eax
inc dword [esi + 0x2c6c]
cmp dword [esi + 0x2c6c], 0
jg 0x1004f481
push 0x4b8
push str.D:onistrix_2018imguiimgui.h
push str.Size___0
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov eax, dword [esi + 0x2c6c]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x2c74]
mov esi, ebp
lea edi, [eax + ecx*4]
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x1004f4a0
mov eax, dword [0x1010223c]
sub esi, ecx
test eax, eax
je 0x1004f4b8
inc dword [eax + 0x36c]
push dword [0x10102454]
inc esi
push esi
call dword [0x100fe338]
push esi
push ebp
push eax
call sub.VCRUNTIME140D.dll_memcpy
mov dword [edi - 0x1c], eax
lea esi, [ebp + 1]
mov al, byte [ebp]
add esp, 0x14
or edx, 0xffffffff
test al, al
je 0x1004f50b
or ebx, 0xffffffff
cmp al, 0x23
jne 0x1004f4f2
cmp byte [esi], al
jne 0x1004f4f2
cmp byte [esi + 1], al
cmove edx, ebx
movzx ecx, dl
movzx eax, al
xor ecx, eax
shr edx, 8
mov al, byte [esi]
inc esi
xor edx, dword [ecx*4 + 0x100b90a0]
test al, al
jne 0x1004f4e4
not edx
lea eax, [edi - 0x1c]
mov dword [edi - 0x18], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
Function at 0x1004fa10
Capabilities:
Write file on windows

Disassembly:
push ecx
push ebx
mov ebx, ecx
mov ecx, 0x1010cb2b
push edi
mov dword [esp + 8], ebx
call fcn.100b1e70
mov edi, dword [0x1010223c]
mov dword [edi + 0x2c50], 0
test ebx, ebx
je 0x1004fb1d
push esi
lea esi, [edi + 0x2c54]
mov dword [edi + 0x2c50], 0
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1004fa6b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100547b0
mov dword [esi], 0
cmp dword [esi + 4], 0
jne 0x1004fa80
push 8
mov ecx, esi
call fcn.100547b0
mov eax, dword [esi]
xor ebx, ebx
mov ecx, dword [esi + 8]
mov byte [ecx + eax], 0
inc dword [esi]
mov eax, dword [edi + 0x2c60]
test eax, eax
jle 0x1004fad8
push ebp
xor ebp, ebp
cmp ebx, eax
jl 0x1004fab6
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call dword [sym.imp.ucrtbased.dll__wassert]
add esp, 0xc
mov eax, dword [edi + 0x2c68]
add eax, ebp
push esi
push eax
push edi
mov eax, dword [eax + 0x10]
call eax
mov eax, dword [edi + 0x2c60]
inc ebx
add esp, 0xc
add ebp, 0x18
cmp ebx, eax
jl 0x1004fab6
pop ebp
mov esi, dword [esi]
mov ebx, 0x10102238
mov ecx, dword [esp + 0xc]
mov edx, 0x100ed580
lea eax, [esi - 1]
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [edi + 0x2c5c]
test eax, eax
cmovne ebx, eax
call fcn.10035be0
mov edi, eax
test edi, edi
je 0x1004fb1c
push edi
push esi
push 1
push ebx
call dword [sym.imp.ucrtbased.dll_fwrite]
push edi
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 0x14
pop esi
pop edi
pop ebx
pop ecx
ret
Function at 0x1005a400
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x30
mov eax, dword [0x100fe040]
xor eax, esp
mov dword [esp + 0x2c], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
push edi
mov ecx, 0x1010b8e4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], esi
call fcn.100b1e70
movq xmm0, qword [esi + 0x70]
mov esi, dword [esi + 0x78]
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
movq qword [esp + 0x24], xmm0
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], 0xffffffff
test esi, esi
jns 0x1005a468
push 0x46c
push str.D:onistrix_2018imguiimstb_truetype.h
push str.__o___b__size__o___0_
call ebp
add esp, 0xc
mov dword [esp + 0x28], esi
mov eax, esi
jmp 0x1005a483
xor eax, eax
mov dword [esp + 0x28], 0
test esi, esi
jle 0x1005a483
mov cl, byte [edi]
mov edx, 1
mov eax, edx
test cl, cl
jne 0x1005a4c2
add ebx, eax
cmp ebx, esi
jg 0x1005a48d
test ebx, ebx
jns 0x1005a4a1
push 0x46c
push str.D:onistrix_2018imguiimstb_truetype.h
push str.__o___b__size__o___0_
call ebp
add esp, 0xc
cmp ebx, esi
jg 0x1005a4b8
test ebx, ebx
js 0x1005a4b8
cmp ebx, esi
jge 0x1005a4b8
mov al, byte [edi + ebx]
movzx eax, al
jmp 0x1005a571
xor al, al
movzx eax, al
jmp 0x1005a571
cmp cl, 3
jne 0x1005a575
cmp eax, esi
jl 0x1005a4d3
xor al, al
jmp 0x1005a4d7
mov al, byte [edi + edx]
inc edx
movzx ecx, al
cmp edx, esi
jl 0x1005a4e2
xor al, al
jmp 0x1005a4e6
mov al, byte [edi + edx]
inc edx
shl ecx, 8
movzx eax, al
or ecx, eax
mov dword [esp + 0x18], ecx
cmp edx, esi
jl 0x1005a4fa
xor al, al
jmp 0x1005a4fe
mov al, byte [edi + edx]
inc edx
movzx ebp, al
cmp edx, esi
jl 0x1005a509
xor al, al
jmp 0x1005a50d
mov al, byte [edi + edx]
inc edx
shl ebp, 8
xor ebx, ebx
movzx eax, al
or ebp, eax
test ecx, ecx
je 0x1005a575
nop dword [eax + eax]
cmp edx, esi
jl 0x1005a528
xor al, al
jmp 0x1005a52c
mov al, byte [edi + edx]
inc edx
movzx eax, al
mov dword [esp + 0x1c], eax
cmp edx, esi
jl 0x1005a53b
xor al, al
jmp 0x1005a53f
mov al, byte [edi + edx]
inc edx
movzx eax, al
cmp edx, esi
jl 0x1005a54a
xor cl, cl
jmp 0x1005a54e
mov cl, byte [edi + edx]
inc edx
shl eax, 8
movzx ecx, cl
or eax, ecx
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jl 0x1005a562
cmp ecx, eax
jl 0x1005a56d
inc ebx
mov ebp, eax
cmp ebx, dword [esp + 0x18]
jl 0x1005a520
jmp 0x1005a575
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x20]
sub esp, 0xc
mov ecx, dword [esp + 0x1c]
mov edx, esp
movq xmm0, qword [ebx + 0x64]
mov eax, dword [ebx + 0x6c]
movq qword [edx], xmm0
mov dword [edx + 8], eax
lea eax, [esp + 0x30]
push eax
call fcn.100582a0
add esp, 4
mov ecx, esp
sub esp, 0xc
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ecx], xmm0
movq xmm0, qword [ebx + 0x34]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebx + 0x3c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea eax, [esp + 0x48]
push eax
call fcn.10058770
mov edx, dword [esp + 0x60]
add esp, 0x1c
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
mov eax, edx
pop edi
pop esi
movq qword [edx], xmm0
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x34]
pop ebp
pop ebx
xor ecx, esp
call fcn.100afa20
add esp, 0x30
ret
Function at 0x10067d60
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, 0x1010cb2b
call fcn.100b1e70
mov ecx, edi
call fcn.10067b60
mov ecx, dword [edi + 0x40]
xor eax, eax
mov ebp, dword [sym.imp.ucrtbased.dll__wassert]
mov dword [esp + 0x14], eax
test ecx, ecx
jle 0x10067eea
xor esi, esi
mov dword [esp + 0x18], esi
cmp eax, ecx
jl 0x10067db3
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call ebp
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ebx, dword [edi + 0x48]
add ebx, esi
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x10067ed3
cmp dword [ebx], 0x10000
ja 0x10067ed3
cmp dword [ecx + 0x38], edi
je 0x10067de8
push 0x857
push str.D:onistrix_2018imguiimgui_draw.cpp
push str.r.Font__ContainerAtlas__atlas
call ebp
add esp, 0xc
cmp dword [edi + 0x1c], 0
jle 0x10067df4
cmp dword [edi + 0x20], 0
jg 0x10067e08
push 0x6a1
push str.D:onistrix_2018imguiimgui_draw.cpp
push str.TexWidth___0__TexHeight___0
call ebp
add esp, 0xc
mov eax, 0xffff
cmp word [ebx + 8], ax
jne 0x10067e27
push 0x6a2
push str.D:onistrix_2018imguiimgui_draw.cpp
push str.rect__IsPacked__
call ebp
add esp, 0xc
movzx eax, word [ebx + 8]
sub esp, 0x1c
movzx esi, word [ebx + 4]
movzx ecx, word [ebx + 0xa]
movzx edx, word [ebx + 6]
movss xmm0, dword [ebx + 0xc]
movd xmm6, eax
add eax, esi
movss dword [esp + 0x18], xmm0
movd xmm3, ecx
cvtdq2ps xmm3, xmm3
movd xmm2, eax
lea eax, [edx + ecx]
mulss xmm3, dword [edi + 0x28]
mov ecx, dword [ebx + 0x18]
movd xmm1, eax
movzx eax, word [ebx]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
mulss xmm2, dword [edi + 0x24]
mulss xmm1, dword [edi + 0x28]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm6, xmm6
addss xmm0, dword [ebx + 0x14]
mulss xmm6, dword [edi + 0x24]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x10], xmm2
movss xmm2, dword [ebx + 0x10]
movss dword [esp + 0xc], xmm3
movss xmm3, dword [ebx + 0x14]
movss dword [esp + 8], xmm6
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebx + 0x10]
movss dword [esp], xmm0
push eax
call fcn.10068b30
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [edi + 0x40]
inc eax
add esi, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
cmp eax, ecx
jl 0x10067db3
mov ecx, dword [edi + 0x34]
xor esi, esi
test ecx, ecx
jle 0x10067f45
cmp esi, ecx
jl 0x10067f0e
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call ebp
mov ecx, dword [edi + 0x34]
add esp, 0xc
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + esi*4]
cmp byte [eax + 0x54], 0
je 0x10067f3d
cmp esi, ecx
jl 0x10067f32
push 0x4ae
push str.D:onistrix_2018imguiimgui.h
push str.i___Size
call ebp
add esp, 0xc
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + esi*4]
call fcn.10068630
mov ecx, dword [edi + 0x34]
inc esi
cmp esi, ecx
jl 0x10067f0e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret