Function at 0x10078960
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov eax, dword [0x10258d1c]
xor eax, esp
mov dword [esp + 0x80], eax
mov esi, dword [0x10258f60]
mov eax, dword [esi + 0x19e4]
mov byte [eax + 0x7c], 1
mov edi, dword [esi + 0x19e4]
cmp byte [edi + 0x7f], 0
jne 0x10078aea
movss xmm0, dword [esp + 0xb4]
ucomiss xmm0, dword [0x101a6280]
jne 0x100789ac
jnp 0x100789c8
cmp dword [esp + 0xa8], 0
je 0x10078dd1
cmp dword [esp + 0xac], 0
je 0x10078dd1
mov ebx, dword [esp + 0x98]
mov ecx, edi
push 0
push ebx
call fcn.1004b2b0
mov dword [esp + 4], eax
call fcn.1005a800
fstp dword [esp + 0xc]
lea eax, [esp + 0x38]
push 0xbf800000
push 1
push 0
push ebx
push eax
call fcn.10049ee0
add esp, 0x14
movss xmm0, dword [esi + 0x153c]
movaps xmm3, xmm0
addss xmm3, xmm0
addss xmm3, dword [esp + 0x3c]
movsd xmm1, qword [edi + 0xc8]
movss xmm2, dword [esp + 0xc]
unpcklps xmm2, xmm3
addps xmm2, xmm1
movaps xmm3, xmm1
movlhps xmm3, xmm2
movups xmmword [esp + 0x28], xmm3
movss xmm4, dword [esp + 0x38]
xorps xmm3, xmm3
ucomiss xmm4, xmm3
jbe 0x10078a4a
addss xmm4, dword [esi + 0x1550]
movaps xmm3, xmm4
mov dword [esp + 8], esi
xorps xmm4, xmm4
movss xmm4, xmm3
addps xmm4, xmm2
movlhps xmm1, xmm4
movups xmmword [esp + 0x18], xmm1
sub esp, 8
movss dword [esp + 4], xmm0
lea ebx, [esp + 0x20]
mov dword [esp], ebx
call fcn.1004bf60
add esp, 8
lea esi, [esp + 0x28]
push esi
mov ebp, dword [esp + 8]
push ebp
push ebx
call fcn.1004bfb0
add esp, 0xc
test al, al
je 0x10078aea
push ebp
push esi
call fcn.1004c5c0
add esp, 8
cmp dword [esp + 0x9c], 6
jae 0x10078dd1
mov ebx, eax
mov eax, dword [esp + 0xb0]
test eax, eax
mov esi, dword [esp + 4]
mov ebp, dword [esp + 8]
je 0x10078b07
cmp dword [esp + 0x9c], 0
jne 0x10078b18
push 0x101edc37
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x10078dc5
mov ecx, dword [esp + 0xb0]
call fcn.10078de0
jmp 0x10078b18
xor ebx, ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.10155ad1
mov eax, ebx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x9c]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x101ae8fc]
mov dword [esp], eax
push 1
push esi
push edi
call fcn.1004c730
add esp, 0xc
test al, al
je 0x10078b58
push edi
push esi
call fcn.1004baa0
add esp, 8
push edi
push esi
call fcn.1004bba0
add esp, 8
push edi
call fcn.1004d770
add esp, 4
mov dword [ebp + 0x1a1c], 0xc
lea ebx, [esp + 0x28]
jmp 0x10078bd3
test bl, bl
lea ebx, [esp + 0x28]
je 0x10078b72
cmp byte [ebp + 0x3d0], 0
jne 0x10078b92
cmp byte [ebp + 0x3d5], 0
jne 0x10078b92
cmp dword [ebp + 0x1afc], esi
je 0x10078b92
cmp dword [ebp + 0x1b08], esi
jne 0x10078c1d
cmp dword [ebp + 0x2c40], esi
je 0x10078c1d
push edi
push esi
call fcn.1004baa0
add esp, 8
push edi
push esi
call fcn.1004bba0
add esp, 8
push edi
call fcn.1004d770
add esp, 4
mov dword [ebp + 0x1a1c], 0xc
cmp byte [ebp + 0xf8], 0
jne 0x10078bd3
cmp byte [ebp + 0x3d5], 0
jne 0x10078bd3
cmp dword [ebp + 0x1b08], esi
jne 0x10078c1d
mov dword [ebp + 0x2c40], 0
movsd xmm0, qword [esp + 0x28]
movsd qword [edi + 0xc8], xmm0
push edi
call fcn.1004c890
add esp, 4
push dword [esp]
push dword [esp + 0xa4]
push dword [esp + 0xa4]
push dword [esp + 0xa4]
push esi
push ebx
call fcn.10078ef0
add esp, 0x18
mov ebx, eax
jmp 0x10078aec
cmp dword [ebp + 0x1a04], esi
jne 0x10078c2d
cmp dword [ebp + 0x2c40], esi
je 0x10078bdd
movss xmm0, dword [esp + 0xa4]
sub esp, 0x24
movss xmm1, dword [esp + 0xd8]
movss dword [esp + 0x1c], xmm1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x10], eax
movss dword [esp + 0xc], xmm0
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x20], 0
call fcn.100760e0
add esp, 0x24
mov ebx, eax
test al, al
je 0x10078ca4
push esi
call fcn.1004bcc0
add esp, 4
mov eax, 0xb
cmp dword [ebp + 0x1a04], esi
je 0x10078cbf
xor eax, eax
cmp dword [ebp + 0x19f0], esi
sete al
add eax, 9
push 0x3f800000
push eax
call fcn.10049000
add esp, 8
mov edi, eax
push 1
push esi
lea eax, [esp + 0x30]
push eax
call fcn.1004a800
add esp, 0xc
movss xmm0, dword [ebp + 0x1540]
movups xmm1, xmmword [esp + 0x28]
sub esp, 0x1c
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x10], edi
movups xmmword [esp], xmm1
mov dword [esp + 0x14], 1
call fcn.1004a060
add esp, 0x1c
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, 0x40
push dword [esp]
push dword [esp + 0xa4]
push dword [esp + 0xa4]
call fcn.10079110
add esp, 0xc
add eax, esp
add eax, 0x40
movsd xmm0, qword [0x101a7710]
movsd qword [esp + 0x10], xmm0
lea ecx, [esp + 0x10]
push 0
push ecx
push 0
push eax
push esi
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.10049fc0
add esp, 0x1c
movss xmm0, dword [esp + 0x38]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10078aec
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x30]
addss xmm0, dword [ebp + 0x153c]
addss xmm1, dword [ebp + 0x1550]
sub esp, 0x14
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call fcn.100496f0
add esp, 0x14
jmp 0x10078aec
mov eax, dword [esp + 0xb0]
jmp 0x10078b18
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3