joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10018580
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e3452
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10112040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0x14
mov word [edi], 0x101
mov byte [edi + 2], 1
mov dword [edi + 4], 0
mov word [edi + 8], 0x101
mov byte [edi + 0xa], 1
mov dword [edi + 0xc], 0
mov byte [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov word [edi + 0x18], 0x101
mov byte [edi + 0x1a], 1
mov dword [edi + 0x1c], 0
mov byte [edi + 0x20], 1
call fcn.100e1bdf
vmovss xmm0, dword [0x10100b88]
push 8
mov dword [eax], 0
vmovss dword [eax + 4], xmm0
mov dword [eax + 8], 0x15
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0x1010101
mov dword [edi + 0x24], eax
call fcn.100e1bdf
push 0x5c
mov byte [eax], 1
mov dword [eax + 4], 0
mov dword [edi + 0x28], eax
call fcn.100e1bdf
vmovss xmm0, dword [0x10100b88]
push 0x2c
mov dword [eax], 0
vmovss dword [eax + 4], xmm0
mov byte [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 3
mov dword [eax + 0x24], 0xa
mov dword [eax + 0x28], 3
mov dword [eax + 0x2c], 0x4a
mov dword [eax + 0x30], 0x68
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 3
mov dword [eax + 0x40], 0xa
mov dword [eax + 0x44], 3
mov dword [eax + 0x48], 0x4a
mov dword [eax + 0x4c], 0x68
mov dword [eax + 0x50], 0
mov byte [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov dword [edi + 0x2c], eax
call fcn.100e1bdf
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
push 3
mov byte [esi], 1
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 2
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 2
mov dword [esi + 0x20], 0x10001
mov byte [esi + 0x24], 0
call fcn.100e1bdf
mov dword [ebp - 4], 0xffffffff
push 0x1c
mov word [eax], 0x101
mov byte [eax + 2], 0
mov dword [esi + 0x28], eax
mov dword [edi + 0x30], esi
call fcn.100e1bdf
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 1
push 2
mov byte [esi], 1
mov dword [esi + 4], 0
mov byte [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0x1000101
mov byte [esi + 0x14], 0
call fcn.100e1bdf
mov dword [ebp - 4], 0xffffffff
push 2
mov word [eax], 0x101
mov dword [esi + 0x18], eax
mov dword [edi + 0x34], esi
call fcn.100e1bdf
push 8
mov word [eax], 0x101
mov dword [edi + 0x38], eax
call fcn.100e1bdf
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 2
push 0x10
mov word [esi], 0
call fcn.100e1bdf
add esp, 0x28
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [esi + 4], eax
mov eax, edi
mov dword [edi + 0x3c], esi
mov dword [edi + 0x40], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1001a140
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
cmp dword [ebp + 0xc], 1
jne 0x1001a173
push 0
push 0
push dword [ebp + 8]
push 0x1001a0a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x1001a173
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop ebp
ret 0xc
Function at 0x10026160
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x18
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp edx, eax
je 0x100262b6
mov eax, dword [ebx + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [edx + 4]
mov dword [ebp - 8], eax
movzx eax, byte [edx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 9]
push esi
push edi
mov edi, dword [ebx + 0xc]
mov esi, edx
xor ecx, eax
mov dword [ebp - 0x18], edi
movzx eax, byte [edx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 4], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.100e2043
dec dword [ebx + 8]
add esp, 8
cmp edi, dword [ebp - 0x10]
je 0x10026219
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x100261d7
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x100262ac
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
pop edi
mov dword [edx], esi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x1002622d
mov eax, dword [ebp - 0x14]
mov ecx, eax
mov dword [edx], eax
jmp 0x10026230
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edx + 4], ecx
cmp esi, eax
je 0x100262ac
nop word [eax + eax]
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [ebx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + eax*8]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, esi
mov edi, esi
mov esi, dword [esi]
push 0x10
push eax
call fcn.100e2043
dec dword [ebx + 8]
add esp, 8
mov eax, dword [ebp + 0xc]
cmp edi, dword [ebp - 0x10]
je 0x100262bd
cmp esi, eax
jne 0x10026287
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], edx
cmp esi, eax
jne 0x10026240
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1002eec0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e4daf
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x10112040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
vpxor xmm0, xmm0, xmm0
mov dword [esi], 0xc8
mov dword [esi + 4], 0xc8
mov dword [esi + 8], 0x1f7
mov dword [esi + 0xc], 0x1ae
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov byte [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
vmovups ymmword [esi + 0x34], ymm0
vmovdqu xmmword [esi + 0x54], xmm0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
push 0x30
vzeroupper
call fcn.100e1bdf
vpxor xmm0, xmm0, xmm0
push 0x18
mov dword [eax], 0
vmovdqu xmmword [eax + 4], xmm0
vmovss dword [eax + 0x14], xmm0
vmovq qword [eax + 0x18], xmm0
mov dword [eax + 0x20], 0
vmovq qword [eax + 0x24], xmm0
mov dword [eax + 0x2c], 0
mov dword [esi + 0x78], eax
mov byte [esi + 0x7c], 0
call fcn.100e1bdf
vpxor xmm0, xmm0, xmm0
push 0x18
mov dword [eax], 0
vmovdqu xmmword [eax + 4], xmm0
vmovss dword [eax + 0x14], xmm0
mov dword [esi + 0x80], eax
call fcn.100e1bdf
vpxor xmm0, xmm0, xmm0
push 0x24
mov dword [eax], 0
vmovdqu xmmword [eax + 4], xmm0
vmovss dword [eax + 0x14], xmm0
mov dword [esi + 0x84], eax
call fcn.100e1bdf
vpxor xmm0, xmm0, xmm0
push 0x24
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 0
vmovdqu xmmword [eax + 0x10], xmm0
vmovss dword [eax + 0x20], xmm0
mov dword [esi + 0x88], eax
call fcn.100e1bdf
vpxor xmm0, xmm0, xmm0
add esp, 0x14
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax], 0
vmovdqu xmmword [eax + 0x10], xmm0
vmovss dword [eax + 0x20], xmm0
mov dword [esi + 0x8c], eax
vmovdqu xmmword [esi + 0x90], xmm0
mov dword [esi + 0xa0], 0
mov dword [esi + 0xa4], 0xf
mov byte [esi + 0x90], 0
mov dword [ebp - 4], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov byte [ebp - 4], 1
lea ecx, [esi + 0xc0]
push 0x100f6ab3
mov word [esi + 0xbc], 0
call fcn.1001ac70
push 0x100f6ab3
lea ecx, [esi + 0xd8]
mov byte [ebp - 4], 2
call fcn.1001ac70
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [esi + 0xf0], xmm0
mov dword [esi + 0x100], 0
mov eax, esi
mov dword [esi + 0x104], 0xf
mov byte [esi + 0xf0], 0
vmovdqu xmmword [esi + 0x108], xmm0
mov dword [esi + 0x118], 0
mov dword [esi + 0x11c], 0xf
mov byte [esi + 0x108], 0
mov word [esi + 0x120], 0
mov dword [esi + 0x124], 0
mov dword [esi + 0x128], 0
mov dword [esi + 0x12c], 0
mov dword [esi + 0x130], 0
mov dword [esi + 0x134], 0
mov dword [esi + 0x138], 0
mov dword [esi + 0x13c], 0
mov dword [esi + 0x140], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10035d70
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov edx, ecx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x14], edx
cmp ebx, eax
je 0x10035ee1
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 8], eax
movzx eax, byte [ebx + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 9]
push esi
push edi
mov edi, dword [edx + 0xc]
mov esi, ebx
xor ecx, eax
mov dword [ebp - 0x1c], edi
movzx eax, byte [ebx + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [edx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [edi + eax*8]
mov dword [ebp - 4], ecx
lea eax, [edi + eax*8]
mov dword [ebp - 0xc], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
nop word [eax + eax]
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0xc]
call fcn.10033210
push 0x18
push edi
call fcn.100e2043
mov edx, dword [ebp - 0x14]
add esp, 8
dec dword [edx + 8]
cmp ebx, dword [ebp - 0x10]
je 0x10035e3d
mov eax, dword [ebp + 0xc]
cmp esi, eax
jne 0x10035df0
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jne 0x10035ed7
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov dword [edi], esi
mov dword [ecx], esi
pop edi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0xc]
cmp ecx, dword [ebp + 8]
jne 0x10035e51
mov eax, dword [ebp - 0x18]
mov ecx, eax
mov dword [edi], eax
jmp 0x10035e54
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], ecx
cmp esi, eax
je 0x10035ed7
nop
movzx eax, byte [esi + 8]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [esi + 9]
xor ecx, eax
movzx eax, byte [esi + 0xa]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [esi + 0xb]
imul ecx, ecx, 0x1000193
xor ecx, eax
mov eax, dword [edx + 0x18]
imul ecx, ecx, 0x1000193
and eax, ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx + eax*8]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov edi, esi
mov ebx, esi
mov esi, dword [esi]
lea ecx, [edi + 0xc]
call fcn.10033210
push 0x18
push edi
call fcn.100e2043
mov edx, dword [ebp - 0x14]
add esp, 8
mov eax, dword [ebp + 0xc]
dec dword [edx + 8]
cmp ebx, dword [ebp - 0x10]
je 0x10035ee8
cmp esi, eax
jne 0x10035ea7
mov ecx, dword [ebp - 4]
mov dword [ecx], esi
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x18]
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
cmp esi, eax
jne 0x10035e60
mov ecx, dword [ebp - 8]
pop edi
mov dword [ecx], esi
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100461c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e6005
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x10112040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], edi
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
push eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push edx
push eax
call fcn.10046c90
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1004624a
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x10046373
cmp dword [ebx + 8], 0xfffffff
jne 0x1004625e
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
lea eax, [ebx + 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x24], 0
call fcn.100e1bdf
mov ecx, dword [ebp - 0x10]
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov ecx, dword [ecx]
mov dword [esi + 8], ecx
mov byte [esi + 0xc], 0
mov dword [ebp - 4], 1
mov eax, dword [ebx + 8]
vmovss xmm1, dword [ebx]
vxorps xmm0, xmm0, xmm0
inc eax
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100f00]
mov eax, dword [ebx + 0x1c]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100f00]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x10046326
vdivss xmm0, xmm2, xmm1
call fcn.10025310
call fcn.100e2f30
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebx + 0x1c]
cmp eax, ecx
jae 0x10046308
cmp eax, 0x200
jae 0x10046306
shl eax, 3
cmp eax, ecx
jae 0x10046308
mov eax, ecx
push eax
mov ecx, ebx
call fcn.10040ea0
push dword [ebp - 0x14]
lea eax, [esi + 8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10046c90
mov edx, dword [eax]
jmp 0x10046329
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 4]
inc dword [ebx + 8]
mov edi, dword [ebp - 0x28]
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [eax], esi
mov dword [edx + 4], esi
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x18]
and eax, dword [ebp - 0x14]
mov ebx, dword [ecx + eax*8]
cmp ebx, dword [edi]
jne 0x10046354
mov dword [ecx + eax*8], esi
jmp 0x10046366
cmp ebx, edx
jne 0x1004635d
mov dword [ecx + eax*8], esi
jmp 0x1004636a
mov edx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 4], edx
jne 0x1004636a
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x20]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10046610
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e5225
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x10112040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor ecx, eax
movzx eax, byte [ebx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.10046d00
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10046693
mov dword [edi], eax
mov byte [edi + 4], 0
jmp 0x100467d5
cmp dword [0x10114dbc], 0xfffffff
jne 0x100466aa
push str.unordered_map_set_too_long
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const__]
mov dword [ebp - 0x24], 0x10114db8
mov dword [ebp - 4], 0
push 0x10
mov dword [ebp - 0x20], 0
call fcn.100e1bdf
mov ecx, dword [ebx]
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], 0
mov dword [ebp - 4], 1
mov ecx, dword [0x10114dbc]
mov ebx, dword [0x10114dd0]
vmovss xmm1, dword [0x10114db4]
vxorps xmm0, xmm0, xmm0
lea eax, [ecx + 1]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100f00]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, ebx
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, ebx
vaddsd xmm0, xmm0, qword [eax*8 + 0x10100f00]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x10046782
vdivss xmm0, xmm2, xmm1
call fcn.10025310
call fcn.100e2f30
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
cmp ebx, ecx
jae 0x10046761
cmp ebx, 0x200
jae 0x1004675f
shl ebx, 3
cmp ebx, ecx
jae 0x10046761
mov ebx, ecx
push ebx
call fcn.10046a00
mov edi, dword [ebp - 0x10]
lea eax, [esi + 8]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.10046d00
mov ecx, dword [0x10114dbc]
mov edx, dword [eax]
jmp 0x10046788
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edx + 4]
inc ecx
mov dword [0x10114dbc], ecx
mov dword [esi], edx
mov dword [esi + 4], ebx
mov dword [ebx], esi
mov dword [edx + 4], esi
mov eax, dword [0x10114dcc]
mov ecx, dword [0x10114dc0]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [0x10114db8]
jne 0x100467b9
mov dword [ecx + eax*8], esi
jmp 0x100467c8
cmp edi, edx
jne 0x100467c2
mov dword [ecx + eax*8], esi
jmp 0x100467cc
cmp dword [ecx + eax*8 + 4], ebx
jne 0x100467cc
mov dword [ecx + eax*8 + 4], esi
mov edi, dword [ebp - 0x14]
mov dword [edi], esi
mov byte [edi + 4], 1
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10048d70
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e619f
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10112040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
vxorps xmm0, xmm0, xmm0
vmovss dword [edi], xmm0
push 0x24
mov dword [ebp - 0x14], edi
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.100e1bdf
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 4], eax
lea ecx, [edi + 0xc]
mov dword [ebp - 4], 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 1
vmovss xmm0, dword [0x10100be0]
mov dword [edi + 0x18], 7
mov dword [edi + 0x1c], 8
vmovss dword [edi], xmm0
push dword [edi + 4]
push 0x10
call fcn.1001b1c0
mov dword [ebp - 4], 2
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov byte [ebp - 4], 4
lea esi, [edi + 0x40]
vmovss xmm0, dword [0x10100e70]
vmovss dword [edi + 0x38], xmm0
mov byte [edi + 0x3c], 0
mov dword [ebp - 0x14], esi
vxorps xmm0, xmm0, xmm0
vmovss dword [esi], xmm0
push 0x20
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.100e1bdf
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
lea ecx, [esi + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 6
vmovss xmm0, dword [0x10100be0]
mov dword [esi + 0x18], 7
mov dword [esi + 0x1c], 8
vmovss dword [esi], xmm0
push dword [esi + 4]
push 0x10
call fcn.1001b1c0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0xffffffff
mov dword [edi + 0x6c], 0
vxorps xmm1, xmm1, xmm1
vmovups xmmword [edi + 0x70], xmm1
vmovss dword [edi + 0x80], xmm1
vmovss dword [edi + 0x84], xmm1
vpxor xmm0, xmm0, xmm0
vmovdqu ymmword [edi + 0x88], ymm0
vmovups ymmword [edi + 0xa8], ymm1
vmovss dword [edi + 0xc8], xmm1
mov dword [edi + 0xcc], 0
vmovups ymmword [edi + 0xd0], ymm1
vmovss dword [edi + 0xf0], xmm1
vmovq qword [edi + 0xf4], xmm0
mov dword [edi + 0xfc], 0
mov eax, edi
vmovss dword [edi + 0x100], xmm1
vmovss dword [edi + 0x104], xmm1
vmovss dword [edi + 0x108], xmm1
mov word [edi + 0x10c], 0
mov byte [edi + 0x10e], 0
vmovups xmmword [edi + 0x110], xmm1
vzeroupper
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1006a0f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x1006a11c
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const___long_long___int64__]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x20], esi
mov ecx, dword [eax]
lea eax, [ebx + 0x30]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x1006a144
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x1006a14a
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cdq
mov dword [esp + 0x10], eax
mov ecx, edx
mov dword [esp + 0x14], ecx
test edi, edi
jl 0x1006a1b2
jg 0x1006a161
test esi, esi
je 0x1006a1b2
test ecx, ecx
jl 0x1006a1ad
jg 0x1006a16b
test eax, eax
je 0x1006a1ad
cmp edi, ecx
jg 0x1006a17f
jl 0x1006a175
cmp esi, eax
jae 0x1006a17f
mov eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x24]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
add ecx, edx
sub esi, edx
mov eax, dword [eax]
sbb edi, dword [esp + 0x14]
sub dword [eax], edx
mov eax, dword [ebx + 0x20]
add dword [eax], edx
jmp 0x1006a1b5
mov ecx, dword [ebp + 8]
jmp 0x1006a1bf
mov ecx, dword [ebp + 8]
test edi, edi
jl 0x1006a1d9
jg 0x1006a1bf
test esi, esi
je 0x1006a1d9
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x1006a1d9
push eax
push esi
push 1
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc