joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10057290
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov ebx, dword [ecx]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0xc]
lea edi, [edx + ebx]
mov ecx, edx
cmp eax, edi
jge 0x1005734c
test eax, eax
je 0x100572bf
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x100572c4
mov ebp, 8
cmp ebp, edi
cmovle ebp, edi
mov ecx, edx
cmp eax, ebp
jge 0x1005734c
mov dword [esp + 4], edx
lea eax, [ebp*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100572ea
inc dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov edx, dword [esi + 8]
test edx, edx
je 0x1005733f
mov ecx, dword [esi]
shl ecx, 2
push ecx
push edx
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
test eax, eax
je 0x1005732c
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005732c
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov eax, dword [esp]
mov dword [esi + 8], eax
mov dword [esi + 4], ebp
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 4]
mov dword [esi], edi
test ecx, ecx
je 0x100573f4
test edx, edx
jle 0x100573fc
test ecx, ecx
jle 0x100573fc
shl ebx, 2
add ebx, dword [esi + 8]
shl ecx, 2
push ecx
push dword [esi + 0x14]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x10], 0
jns 0x100573ed
mov eax, dword [0x10258f60]
test eax, eax
je 0x10057391
inc dword [eax + 0x36c]
push dword [0x10258f68]
push 0
call dword [0x101fc77c]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x100573e3
mov ecx, dword [esi + 0xc]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x14]
test eax, eax
je 0x100573d3
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100573d3
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x10057fb0
Capabilities:
Terminate process

Disassembly:
push edi
push esi
sub esp, 8
mov esi, dword [esp + 0x14]
mov eax, dword [0x10258d1c]
xor eax, esp
mov dword [esp + 4], eax
lea edi, [esp + 0x18]
mov dword [esp], edi
mov eax, dword [0x10258f60]
cmp byte [eax + 0x1cc1], 0
je 0x10057fe0
call fcn.1005b6a0
jmp 0x10057fec
push 1
push 0
call fcn.1005b7c0
add esp, 8
push edi
push esi
call fcn.10072140
add esp, 8
mov eax, dword [0x10258f60]
mov eax, dword [eax + 0x19e4]
test byte [eax + 0xb], 2
je 0x1005801d
call fcn.10057bf0
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.10155ad1
add esp, 8
pop esi
pop edi
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x10058030
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
mov esi, edx
mov edi, ecx
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x100580d4
lea ebp, [eax + 1]
test eax, eax
je 0x10058057
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1005805c
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x100580d4
lea eax, [ebp*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005807c
inc dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov ebx, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x100580cc
mov ecx, dword [edi]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 8]
test eax, eax
je 0x100580bc
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100580bc
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov dword [edi + 8], ebx
mov dword [edi + 4], ebp
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov dword [ecx + eax*4], esi
inc dword [edi]
cmp byte [esi + 0x7a], 0
je 0x10058135
mov ebx, dword [esi + 0x150]
cmp ebx, 2
jl 0x10058106
push 0x1005e6d0
push 4
push ebx
push dword [esi + 0x158]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
add esp, 0x10
jmp 0x1005810b
cmp ebx, 1
jne 0x10058135
xor ebp, ebp
jmp 0x10058115
inc ebp
cmp ebx, ebp
je 0x10058135
cmp dword [esi + 0x150], ebp
jle 0x1005813a
mov eax, dword [esi + 0x158]
mov edx, dword [eax + ebp*4]
cmp byte [edx + 0x7a], 0
je 0x10058110
mov ecx, edi
call fcn.10058030
jmp 0x10058110
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x10058590
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, dword [edx]
test eax, eax
je 0x10058679
jle 0x1005867e
mov edi, edx
mov esi, ecx
mov ecx, dword [edx + 8]
dec eax
mov edx, eax
shl edx, 5
cmp dword [ecx + edx], 0
jne 0x100585c8
cmp dword [ecx + edx + 0x18], 0
jne 0x100585c8
mov dword [edi], eax
test eax, eax
je 0x10058679
cmp dword [edi + 0x30], 0x10000
jae 0x1005867e
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x10058671
lea ebp, [eax + 1]
test eax, eax
je 0x100585f4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100585f9
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x10058671
lea eax, [ebp*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10058619
inc dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov ebx, eax
mov eax, dword [esi + 8]
test eax, eax
je 0x10058669
mov ecx, dword [esi]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 8]
test eax, eax
je 0x10058659
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10058659
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov dword [esi + 8], ebx
mov dword [esi + 4], ebp
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ecx + eax*4], edi
inc dword [esi]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x100587f0
Capabilities:
Terminate process

Disassembly:
push ebx
push esi
sub esp, 0x2c
mov eax, dword [esp + 0x38]
cmp eax, 5
jae 0x100588e3
mov esi, dword [0x10258f60]
movss xmm1, dword [esi + eax*4 + 0x3e4]
mov bl, 1
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10058821
jnp 0x100588db
cmp byte [esp + 0x3c], 0
je 0x100588d9
movss xmm0, dword [esi + 0x88]
ucomiss xmm1, xmm0
jbe 0x100588d9
movss xmm2, dword [esi + 0x8c]
movss dword [esp + 0x14], xmm2
subss xmm1, xmm0
movss dword [esp + 0x18], xmm1
cvtss2sd xmm2, xmm2
movsd qword [esp + 0x24], xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101a62c0]
movss dword [esp + 0x14], xmm1
ucomiss xmm0, xmm1
setbe byte [esp + 0x13]
movss xmm0, dword [esp + 0x18]
subss xmm0, dword [esi + 0x18]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [esp + 0x24]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, dword [esp + 0x14]
seta al
cmp byte [esp + 0x13], al
je 0x100588db
xor ebx, ebx
mov eax, ebx
add esp, 0x2c
pop esi
pop ebx
ret
mov dword [esp], 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
Function at 0x10058980
Capabilities:
Hash data with crc32
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
mov ecx, dword [0x10258f60]
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19e4]
mov edx, dword [eax + 0x1c0]
test edx, edx
jle 0x10058a44
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0x1c8]
mov edx, dword [eax + edx*4 - 4]
movzx eax, byte [esi]
test al, al
je 0x10058a03
not edx
add esi, 2
mov ebx, edx
jmp 0x100589e9
movzx ebp, al
movzx edi, bl
shr ebx, 8
xor edi, ebp
xor ebx, dword [edi*4 + 0x101a7104]
inc esi
mov al, ah
test ah, ah
je 0x100589ff
mov ah, byte [esi - 1]
cmp al, 0x23
jne 0x100589d0
cmp ah, 0x23
jne 0x100589d0
cmp byte [esi], 0x23
cmove ebx, edx
mov ah, 0x23
jmp 0x100589d0
not ebx
mov edx, ebx
cmp dword [ecx + 0x1a04], edx
jne 0x10058a11
mov dword [ecx + 0x1a0c], edx
mov esi, dword [esp + 0x20]
movzx ebx, byte [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp dword [ecx + 0x1a08], edx
jne 0x10058a2d
mov byte [ecx + 0x1a18], 1
movzx edi, bl
mov ecx, dword [esp + 0x14]
push esi
push edi
push eax
call fcn.10058a50
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x10059070
Capabilities:
Terminate process

Disassembly:
push ebx
push edi
push esi
mov esi, dword [esp + 0x10]
mov edi, dword [0x10258f60]
lea eax, [edi + 0x163c]
push eax
push 5
call fcn.10059160
add esp, 8
movss xmm0, dword [edi + 0x1540]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 6
call fcn.10059290
add esp, 8
movss xmm0, dword [edi + 0x1544]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 7
call fcn.10059290
add esp, 8
add edi, 0x1538
push edi
push 1
call fcn.100593e0
add esp, 8
test esi, esi
je 0x1005914e
mov eax, dword [esp + 0x18]
or eax, 0x20010004
xor ecx, ecx
mov edx, esi
push eax
push 1
push dword [esp + 0x1c]
call fcn.10058a50
add esp, 0xc
mov ebx, eax
push 3
call fcn.10059530
add esp, 4
mov eax, dword [0x10258f60]
mov ecx, dword [eax + 0x1a4c]
test ecx, ecx
jle 0x1005914e
mov edx, dword [eax + 0x1a54]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*4 - 0x14]
shl esi, 4
movups xmm0, xmmword [edx + ecx*4 - 0x10]
movups xmmword [eax + esi + 0x15ac], xmm0
mov ecx, dword [eax + 0x1a4c]
test ecx, ecx
jle 0x1005914e
dec ecx
mov dword [eax + 0x1a4c], ecx
mov eax, ebx
pop esi
pop edi
pop ebx
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x10059290
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [esp + 0x1c]
cmp edi, 0x17
jae 0x100593d6
lea eax, [edi + edi*2]
cmp dword [eax*4 + 0x101a7598], 4
jne 0x100593d6
mov ecx, 0x1f9bcd
bt ecx, edi
jae 0x100593d6
movss xmm0, dword [esp + 0x20]
mov ebx, dword [0x10258f60]
mov ebp, dword [eax*4 + 0x101a75a0]
movss xmm1, dword [ebx + ebp + 0x1500]
mov eax, dword [ebx + 0x1a58]
cmp eax, dword [ebx + 0x1a5c]
jne 0x100593ad
lea esi, [eax + 1]
test eax, eax
je 0x10059305
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1005930a
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100593ad
movss dword [esp + 4], xmm1
lea eax, [esi*4]
lea eax, [eax + eax*2]
inc dword [ebx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov edx, dword [ebx + 0x1a60]
test edx, edx
je 0x1005938f
mov ecx, dword [ebx + 0x1a58]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
push edx
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a60]
test eax, eax
je 0x1005937c
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005937c
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov eax, dword [esp]
mov dword [ebx + 0x1a60], eax
mov dword [ebx + 0x1a5c], esi
mov eax, dword [ebx + 0x1a58]
movss xmm0, dword [esp + 0x20]
movss xmm1, dword [esp + 4]
mov ecx, dword [ebx + 0x1a60]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4], edi
movss dword [ecx + eax*4 + 4], xmm1
inc dword [ebx + 0x1a58]
movss dword [ebx + ebp + 0x1500], xmm0
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x100593e0
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov edi, dword [esp + 0x28]
cmp edi, 0x17
jae 0x10059523
lea eax, [edi + edi*2]
cmp dword [eax*4 + 0x101a7598], 4
jne 0x10059523
mov ecx, 0x606432
bt ecx, edi
jae 0x10059523
mov edx, dword [esp + 0x2c]
mov ebx, dword [0x10258f60]
mov ebp, dword [eax*4 + 0x101a75a0]
movsd xmm0, qword [ebx + ebp + 0x1500]
mov eax, dword [ebx + 0x1a58]
cmp eax, dword [ebx + 0x1a5c]
jne 0x100594f7
lea esi, [eax + 1]
test eax, eax
je 0x10059453
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10059458
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100594f7
movups xmmword [esp + 4], xmm0
lea eax, [esi*4]
lea eax, [eax + eax*2]
inc dword [ebx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov edx, dword [ebx + 0x1a60]
test edx, edx
je 0x100594dc
mov ecx, dword [ebx + 0x1a58]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
push edx
mov dword [esp + 8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a60]
test eax, eax
je 0x100594c9
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100594c9
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov eax, dword [esp]
mov dword [ebx + 0x1a60], eax
mov dword [ebx + 0x1a5c], esi
mov eax, dword [ebx + 0x1a58]
mov edx, dword [esp + 0x2c]
movups xmm0, xmmword [esp + 4]
mov ecx, dword [ebx + 0x1a60]
lea eax, [eax + eax*2]
mov dword [ecx + eax*4], edi
movlps qword [ecx + eax*4 + 4], xmm0
inc dword [ebx + 0x1a58]
movsd xmm0, qword [edx]
movsd qword [ebx + ebp + 0x1500], xmm0
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x10059610
Capabilities:
Terminate process

Disassembly:
push edi
push esi
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x10059668
mov ecx, dword [0x10258f60]
mov edx, dword [ecx + 0x1a4c]
inc eax
nop word [eax + eax]
test edx, edx
jle 0x1005966b
mov esi, dword [ecx + 0x1a54]
lea edx, [edx + edx*4]
mov edi, dword [esi + edx*4 - 0x14]
shl edi, 4
movups xmm0, xmmword [esi + edx*4 - 0x10]
movups xmmword [ecx + edi + 0x15ac], xmm0
mov edx, dword [ecx + 0x1a4c]
test edx, edx
jle 0x1005966b
dec edx
mov dword [ecx + 0x1a4c], edx
dec eax
cmp eax, 1
jg 0x10059630
pop esi
pop edi
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x10059690
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax]
test bl, bl
je 0x100596e4
add eax, 2
mov edx, 0xffffffff
mov ecx, 0xffffffff
jmp 0x100596c9
movzx esi, bl
movzx edi, cl
shr ecx, 8
xor edi, esi
xor ecx, dword [edi*4 + 0x101a7104]
inc eax
mov bl, bh
test bh, bh
je 0x100596e0
mov bh, byte [eax - 1]
cmp bl, 0x23
jne 0x100596b0
cmp bh, 0x23
jne 0x100596b0
cmp byte [eax], 0x23
cmove ecx, edx
mov bh, 0x23
jmp 0x100596b0
not ecx
jmp 0x100596e6
xor ecx, ecx
mov edx, dword [0x10258f60]
mov eax, dword [edx + 0x19d4]
mov esi, dword [edx + 0x19dc]
mov edx, esi
test eax, eax
je 0x1005972d
mov edx, esi
mov edi, eax
nop word cs:[eax + eax]
mov ebx, edi
shr ebx, 1
mov ebp, ebx
not ebp
add ebp, edi
cmp dword [edx + ebx*8], ecx
lea edi, [edx + ebx*8 + 8]
cmovae ebp, ebx
cmovb edx, edi
mov edi, ebp
test ebp, ebp
jne 0x10059710
lea esi, [esi + eax*8]
xor eax, eax
cmp edx, esi
je 0x1005973d
cmp dword [edx], ecx
jne 0x1005973d
mov eax, dword [edx + 4]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10059f80
Capabilities:
Terminate process

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [0x10258f60]
cmp dword [eax + 0x1af4], ecx
jne 0x1005a046
mov edx, dword [ecx + 8]
test edx, 0x40000
jne 0x10059fc6
and edx, 0x5000000
cmp edx, 0x1000000
jne 0x10059fd3
mov edx, dword [ecx + 0x300]
test edx, edx
je 0x10059fd3
cmp byte [esp + 8], 0
jne 0x10059fd3
mov dword [eax + 0x1af8], edx
ret
mov edx, dword [ecx + 0x300]
mov dword [eax + 0x1af8], edx
ret
mov edx, dword [eax + 0x1b4c]
cmp edx, 2
jae 0x1005a046
mov dword [eax + 0x1af8], 0
mov dword [ecx + edx*4 + 0x300], 0
mov word [eax + 0x1b59], 1
mov dword [eax + 0x1b5c], 0
movaps xmm0, xmmword [0x101a7870]
movups xmmword [eax + 0x1b60], xmm0
mov eax, dword [0x10258f60]
cmp byte [eax + 0x1b71], 0
je 0x1005a02b
mov byte [eax + 0x1b58], 1
jmp 0x1005a03c
movzx ecx, byte [eax + 0x1b59]
mov byte [eax + 0x1b58], cl
test cl, cl
je 0x1005a045
cmp dword [eax + 0x1af4], 0
je 0x1005a046
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x1005a6f0
Capabilities:
Terminate process

Disassembly:
push edi
push esi
mov esi, dword [0x10258f60]
cmp byte [esi + 0x2cbc], 0
je 0x1005a7ef
push 0x101ef85e
call fcn.1005db30
add esp, 4
mov edi, dword [esi + 0x2cc0]
test edi, edi
je 0x1005a74e
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov ecx, dword [esi + 0x2cc0]
cmp edi, eax
je 0x1005a73a
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x1005a741
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
add esp, 4
mov dword [esi + 0x2cc0], 0
mov edx, dword [esi + 0x2cc4]
xor eax, eax
mov ecx, edx
sub ecx, 1
cmovb ecx, eax
cmp ecx, 2
jl 0x1005a7e8
mov eax, dword [esi + 0x2ccc]
test eax, eax
je 0x1005a77f
mov ecx, eax
test edx, edx
jg 0x1005a784
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, 0x10258f64
mov edi, dword [0x10258f60]
mov edx, dword [edi + 0xcc]
test edx, edx
je 0x1005a7a6
push ecx
push dword [edi + 0xd0]
call edx
add esp, 8
mov eax, dword [esi + 0x2ccc]
test eax, eax
je 0x1005a7e8
mov dword [esi + 0x2cc8], 0
mov dword [esi + 0x2cc4], 0
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005a7ce
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov dword [esi + 0x2ccc], 0
mov byte [esi + 0x2cbc], 0
pop esi
pop edi
ret

Function at 0x1005a800
Capabilities:
Terminate process

Disassembly:
push edi
push esi
push eax
mov eax, dword [0x10258f60]
mov eax, dword [eax + 0x19e4]
movss xmm0, dword [eax + 0x16c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x1005a897
movss xmm2, dword [eax + 0xc]
movss xmm1, dword [eax + 0xc8]
mov ecx, dword [eax + 0x1bc]
test ecx, ecx
je 0x1005a870
mov esi, dword [ecx + 0xc]
xor edx, edx
cmp esi, 0xffffffff
setge dl
add edx, esi
cmp edx, dword [ecx + 0x2c]
jge 0x1005a8ac
mov esi, dword [ecx + 0x34]
lea edi, [edx + edx*8]
lea edi, [edi + edi*2]
add edi, edx
movss xmm4, dword [ecx + 0x14]
movss xmm3, dword [ecx + 0x18]
subss xmm3, xmm4
mulss xmm3, dword [esi + edi]
addss xmm3, xmm4
subss xmm3, dword [eax + 0x3c]
jmp 0x1005a87c
movss xmm3, dword [eax + 0x214]
subss xmm3, xmm2
subss xmm1, xmm2
subss xmm3, xmm1
addss xmm0, xmm3
movss xmm1, dword [0x101a6280]
maxss xmm1, xmm0
movaps xmm0, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
fld dword [esp]
add esp, 4
pop esi
pop edi
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
Function at 0x1005a8c0
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
mov ebx, dword [esp + 0x14]
mov edi, dword [0x10258f60]
test ebx, ebx
jne 0x1005a8f9
mov ebx, dword [edi + 0xa0]
test ebx, ebx
jne 0x1005a8f9
mov eax, dword [edi + 0x94]
cmp dword [eax + 0x34], 0
jle 0x1005aa58
mov eax, dword [eax + 0x3c]
mov ebx, dword [eax]
test ebx, ebx
je 0x1005aa58
cmp dword [ebx + 0x38], 0
je 0x1005aa58
movss xmm1, dword [ebx + 0x44]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x1005aa58
mov dword [edi + 0x18fc], ebx
movss xmm2, dword [edi + 0x98]
mulss xmm2, dword [ebx + 0x10]
mulss xmm2, dword [ebx + 0x44]
movss xmm1, dword [0x101a6280]
maxss xmm1, xmm2
movss dword [edi + 0x1904], xmm1
mov eax, dword [edi + 0x19e4]
test eax, eax
je 0x1005a955
mulss xmm1, dword [eax + 0x26c]
movaps xmm0, xmm1
movss dword [edi + 0x1900], xmm0
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x1908], ecx
mov dword [edi + 0x190c], eax
mov dword [edi + 0x1910], ebx
movss dword [edi + 0x1914], xmm0
mov eax, dword [edi + 0x1a64]
cmp eax, dword [edi + 0x1a68]
jne 0x1005aa2d
lea ebp, [eax + 1]
test eax, eax
je 0x1005a9a6
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1005a9ab
mov ecx, 8
cmp ecx, ebp
cmovg ebp, ecx
cmp eax, ebp
jge 0x1005aa2d
lea eax, [ebp*4]
inc dword [edi + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [edi + 0x1a6c]
test eax, eax
je 0x1005aa1b
mov ecx, dword [edi + 0x1a64]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1a6c]
test eax, eax
je 0x1005aa0b
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005aa0b
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
add esp, 8
mov dword [edi + 0x1a6c], esi
mov dword [edi + 0x1a68], ebp
mov eax, dword [edi + 0x1a64]
mov ecx, dword [edi + 0x1a6c]
mov dword [ecx + eax*4], ebx
inc dword [edi + 0x1a64]
mov eax, dword [edi + 0x19e4]
mov ecx, dword [eax + 0x274]
mov eax, dword [ebx + 0x38]
push dword [eax + 8]
call fcn.1005fea0
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
Function at 0x1005aa60
Capabilities:
Terminate process

Disassembly:
push esi
mov esi, dword [0x10258f60]
mov eax, dword [esi + 0x19e4]
mov ecx, dword [eax + 0x274]
call fcn.1005ff30
mov eax, dword [esi + 0x1a64]
test eax, eax
jle 0x1005ab60
mov ecx, eax
dec ecx
mov dword [esi + 0x1a64], ecx
je 0x1005aaaf
mov ecx, dword [esi + 0x1a6c]
lea eax, [ecx + eax*4]
add eax, 0xfffffff8
mov eax, dword [eax]
test eax, eax
je 0x1005ab60
mov ecx, dword [0x10258f60]
jmp 0x1005aac3
mov ecx, dword [0x10258f60]
mov eax, dword [ecx + 0xa0]
test eax, eax
je 0x1005ab4c
cmp dword [eax + 0x38], 0
je 0x1005ab60
movss xmm1, dword [eax + 0x44]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x1005ab60
mov dword [ecx + 0x18fc], eax
movss xmm2, dword [ecx + 0x98]
mulss xmm2, dword [eax + 0x10]
mulss xmm2, dword [eax + 0x44]
movss xmm1, dword [0x101a6280]
maxss xmm1, xmm2
movss dword [ecx + 0x1904], xmm1
mov edx, dword [ecx + 0x19e4]
test edx, edx
je 0x1005ab1f
mulss xmm1, dword [edx + 0x26c]
movaps xmm0, xmm1
movss dword [ecx + 0x1900], xmm0
mov edx, dword [eax + 0x38]
mov esi, dword [edx + 0x2c]
mov edx, dword [edx + 0x30]
mov dword [ecx + 0x1908], esi
mov dword [ecx + 0x190c], edx
mov dword [ecx + 0x1910], eax
movss dword [ecx + 0x1914], xmm0
pop esi
ret
mov eax, dword [ecx + 0x94]
cmp dword [eax + 0x34], 0
jle 0x1005ab60
mov eax, dword [eax + 0x3c]
jmp 0x1005aa9d
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x1005abe0
Capabilities:
Terminate process

Disassembly:
push esi
mov ecx, dword [esp + 0xc]
mov eax, dword [0x10258f60]
mov eax, dword [eax + 0x19e4]
mov edx, dword [eax + 0xb0]
test ecx, ecx
je 0x1005ac0d
test edx, ecx
je 0x1005ac8b
lea esi, [ecx - 1]
test ecx, esi
jne 0x1005ac8d
mov ecx, dword [esp + 8]
and edx, 0xfffffff1
mov dword [eax + 0xb0], edx
movss xmm0, dword [ecx]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1005ac42
mov dword [eax + 0x90], 0
movss xmm0, dword [ecx]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [eax + 0x1c], xmm0
jmp 0x1005ac53
mov dword [eax + 0x90], 2
mov byte [eax + 0x98], 0
movss xmm0, dword [ecx + 4]
ucomiss xmm0, xmm1
jbe 0x1005ac7a
mov dword [eax + 0x94], 0
movss xmm0, dword [ecx + 4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [eax + 0x20], xmm0
pop esi
ret
mov dword [eax + 0x94], 2
mov byte [eax + 0x98], 0
pop esi
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x1005aca0
Capabilities:
Terminate process

Disassembly:
push esi
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1005ace5
mov ecx, eax
shr ecx, 1
and ecx, 0x55555555
mov edx, eax
sub edx, ecx
mov ecx, edx
and ecx, 0x33333333
shr edx, 2
and edx, 0x33333333
add edx, ecx
mov ecx, edx
shr ecx, 4
add ecx, edx
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
cmp ecx, 2
jae 0x1005ad22
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
test eax, eax
mov esi, dword [0x10258f60]
movsd xmm0, qword [edx]
movsd qword [esi + 0x1aa4], xmm0
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1ab0], ecx
mov dword [esi + 0x1aac], edx
mov ecx, 1
cmovne ecx, eax
mov dword [esi + 0x1a88], ecx
pop esi
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3