Function at 0x10071e00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
mov ebx, dword [0x1017bfd8]
push esi
push edi
mov byte [esp + 0x12], dl
mov eax, dword [ebx + 0x19e4]
mov dword [esp + 0x14], ecx
mov byte [eax + 0x7c], 1
mov edi, dword [ebx + 0x19e4]
cmp byte [edi + 0x7f], 0
jne 0x1007212a
mov esi, dword [ebp + 8]
and esi, 2
je 0x10071e4a
cmp dword [edi + 0x1bc], 0
je 0x10071e4a
call fcn.10046ea0
push ecx
push dword [esp + 0x18]
mov ecx, edi
call fcn.100448e0
mov edx, dword [esp + 0x14]
mov ecx, edx
mov dword [esp + 0x24], eax
cmp edx, 0xffffffff
jae 0x10071e7f
mov dl, byte [ecx]
test dl, dl
je 0x10071e7b
cmp dl, 0x23
jne 0x10071e75
cmp byte [ecx + 1], dl
je 0x10071e7b
inc ecx
cmp ecx, 0xffffffff
jb 0x10071e65
mov edx, dword [esp + 0x14]
mov eax, dword [0x1017bfd8]
movss xmm1, dword [eax + 0x1900]
movss dword [esp + 0x2c], xmm1
cmp edx, ecx
jne 0x10071e9b
xorps xmm0, xmm0
jmp 0x10071ede
push ecx
push ecx
push edx
push ecx
lea ecx, [esp + 0x50]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18fc]
movaps xmm2, xmm1
call fcn.1005fe90
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [0x10145038]
movss xmm1, dword [esp + 0x44]
movss dword [esp + 0x2c], xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov ecx, dword [ebp + 0xc]
xorps xmm6, xmm6
movss dword [esp + 0x18], xmm0
movss xmm7, dword [ecx + 4]
ucomiss xmm7, xmm6
movss dword [esp + 0x28], xmm7
lahf
test ah, 0x44
jp 0x10071f0f
movaps xmm7, xmm1
addss xmm7, dword [0x101450a4]
movss dword [esp + 0x28], xmm7
movss xmm1, dword [ecx]
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x10071f1f
movaps xmm1, xmm0
movss xmm2, dword [edi + 0xcc]
lea ecx, [esp + 0x30]
addss xmm2, dword [edi + 0xf0]
movd xmm3, dword [ebp + 0x10]
movss xmm0, dword [edi + 0xc8]
cvtdq2ps xmm3, xmm3
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm2
mulss xmm3, dword [0x10145164]
addss xmm0, xmm7
movss dword [esp + 0x20], xmm2
subss xmm1, xmm3
movss dword [esp + 0x1c], xmm3
subss xmm0, xmm2
movss dword [esp + 0x30], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x34], xmm0
call fcn.10044ce0
mov eax, dword [0x1017bfd8]
mov eax, dword [eax + 0x19e4]
movss xmm1, dword [eax + 0x214]
subss xmm1, dword [eax + 0xc]
test esi, esi
jne 0x10071fe7
mov edx, dword [eax + 0x1bc]
mov dword [esp + 0x30], eax
test edx, edx
je 0x10071fe7
mov esi, dword [edx + 0xc]
lea eax, [esi + 1]
test eax, eax
cmovns esi, eax
cmp esi, dword [edx + 0x2c]
jge 0x10072474
movss xmm1, dword [edx + 0x18]
lea ecx, [esi*8]
subss xmm1, dword [edx + 0x14]
mov eax, dword [edx + 0x34]
sub ecx, esi
mulss xmm1, dword [eax + ecx*4]
mov eax, dword [esp + 0x30]
addss xmm1, dword [edx + 0x14]
subss xmm1, dword [eax + 0x3c]
addss xmm1, dword [edi + 0xc]
mov ecx, dword [ebp + 0xc]
movss xmm4, dword [esp + 0x40]
movss xmm3, dword [ecx + 4]
subss xmm1, dword [edi + 0x3c]
ucomiss xmm3, xmm6
subss xmm1, xmm4
lahf
maxss xmm1, dword [esp + 0x18]
movss dword [esp + 0x18], xmm3
test ah, 0x44
jp 0x10072021
movaps xmm3, xmm7
movss dword [esp + 0x18], xmm7
movss xmm0, dword [ecx]
mov ecx, dword [ebp + 8]
and ecx, 0x2000
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x10072059
test ecx, ecx
jne 0x10072059
subss xmm0, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x20]
movaps xmm2, xmm5
addss xmm2, dword [esp + 0x18]
addss xmm0, xmm4
movaps xmm3, xmm0
jmp 0x1007208e
subss xmm1, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x20]
ucomiss xmm0, xmm6
addss xmm1, xmm4
movaps xmm2, xmm5
addss xmm2, xmm3
lahf
movaps xmm3, xmm1
test ah, 0x44
jnp 0x10072086
movss dword [esp + 0x40], xmm2
test ecx, ecx
je 0x1007208e
movaps xmm3, xmm1
addss xmm3, dword [edi + 0x3c]
subss xmm4, dword [0x10145100]
subss xmm5, dword [0x101450a4]
addss xmm3, dword [0x10145100]
addss xmm2, dword [0x101450a4]
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push 0
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm2
call fcn.10044e10
add esp, 4
test al, al
jne 0x10072133
test byte [ebp + 8], 2
je 0x1007212a
cmp dword [edi + 0x1bc], 0
je 0x1007212a
mov eax, dword [0x1017bfd8]
mov eax, dword [eax + 0x19e4]
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x2c]
jge 0x10072474
mov eax, dword [eax + 0x34]
lea ecx, [edx*8]
sub ecx, edx
push 0
lea edx, [eax + 0x14]
add eax, 0xc
lea edx, [edx + ecx*4]
lea ecx, [eax + ecx*4]
call fcn.10046e10
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
and ecx, 0x400
movzx eax, byte [esp + 0x12]
add ecx, ecx
mov edx, ecx
or edx, 4
test dword [ebp + 8], 0x800
cmove edx, ecx
mov ecx, 0
mov esi, edx
or esi, 8
test dword [ebp + 8], 0x1000
cmove esi, edx
mov edx, esi
or edx, 0x100
test dword [ebp + 8], 8
cmove ecx, eax
cmove edx, esi
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x12]
mov dword [esp + 0x40], ecx
mov ecx, edx
or ecx, 0x12
test byte [ebp + 8], 4
cmove ecx, edx
mov edx, esi
push ecx
push eax
lea eax, [esp + 0x1b]
push eax
lea ecx, [esp + 0x3c]
call fcn.10062930
mov cl, al
add esp, 0xc
mov byte [esp + 0x12], cl
test cl, cl
jne 0x100721bc
cmp byte [esp + 0x13], al
je 0x1007224c
cmp byte [ebx + 0x1b57], 0
mov ecx, dword [0x1017bfd8]
jne 0x10072216
cmp dword [ebx + 0x1af4], edi
jne 0x10072216
mov eax, dword [ebx + 0x1b4c]
cmp eax, dword [edi + 0x134]
jne 0x10072216
mov byte [ebx + 0x1b56], 1
mov edx, dword [ecx + 0x1af4]
mov eax, dword [edi + 0x134]
test edx, edx
je 0x10072474
test eax, eax
je 0x10072209
cmp eax, 1
jne 0x10072474
mov dword [ecx + 0x1af8], esi
mov dword [edx + eax*4 + 0x300], esi
cmp byte [esp + 0x12], 0
je 0x1007224c
mov eax, dword [ecx + 0x1a04]
cmp eax, esi
je 0x10072238
test eax, eax
je 0x10072238
cmp byte [ecx + 0x1cc0], 0
je 0x10072474
mov eax, dword [ecx + 0x19e4]
mov byte [ecx + 0x1a17], 1
or dword [eax + 0x110], 4
cmp byte [esp + 0x40], 0
movss xmm3, dword [0x10145040]
je 0x100722df
movss xmm1, dword [ebx + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10072274
xorps xmm1, xmm1
jmp 0x10072278
minss xmm1, xmm3
mulss xmm1, dword [0x10145264]
push 0xf
push ecx
mov ecx, dword [edi + 0x274]
addss xmm1, dword [0x10144fec]
mov dword [esp], 0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x3c3c3c
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.1005cad0
mov esi, dword [edi + 0x274]
lea eax, [esp + 0x50]
push eax
call fcn.10027a70
movss xmm3, dword [0x10145040]
mov ecx, eax
xorps xmm1, xmm1
movss xmm2, dword [ecx]
comiss xmm1, xmm2
jbe 0x1007231a
xorps xmm2, xmm2
jmp 0x1007231e
movss xmm0, dword [ebx + 0x1500]
lea ecx, [esp + 0x40]
mov esi, dword [edi + 0x274]
xorps xmm1, xmm1
movss xmm2, dword [0x10145010]
mov dword [esp + 0x40], 0x3f34b4b5
mov dword [esp + 0x44], 0x3f34b4b5
mov dword [esp + 0x48], 0x3f34b4b5
movss dword [esp + 0x4c], xmm0
minss xmm2, xmm3
movss xmm5, dword [0x10145264]
movss xmm4, dword [0x10144fec]
movss xmm0, dword [ecx + 4]
comiss xmm1, xmm0
mulss xmm2, xmm5
addss xmm2, xmm4
cvttss2si edx, xmm2
jbe 0x10072349
xorps xmm0, xmm0
jmp 0x1007234d
minss xmm0, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [ecx + 8]
shl eax, 8
or edx, eax
comiss xmm1, xmm0
jbe 0x1007236d
xorps xmm0, xmm0
jmp 0x10072371
minss xmm0, xmm3
movss xmm2, dword [ecx + 0xc]
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm1, xmm2
jbe 0x10072391
xorps xmm2, xmm2
jmp 0x10072395
minss xmm2, xmm3
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x10145134]
movss xmm6, dword [esp + 0x2c]
mulss xmm2, xmm5
push 0
mulss xmm6, xmm4
push ecx
movss dword [esp + 0x48], xmm0
addss xmm2, xmm4
movss xmm0, dword [esp + 0x30]
mov ecx, esi
mulss xmm0, xmm4
mov dword [esp], 0
push 0
push dword [esp + 0x20]
cvttss2si eax, xmm2
subss xmm0, xmm6
xorps xmm2, xmm2
shl eax, 0x18
or eax, edx
push eax
lea eax, [esp + 0x54]
addss xmm0, xmm3
push eax
push 0
addss xmm0, dword [esp + 0x50]
movss dword [esp + 0x60], xmm0
call fcn.1005cec0
mov eax, dword [ebp + 8]
test al, 2
je 0x1007247f
cmp dword [edi + 0x1bc], 0
je 0x1007247f
mov eax, dword [0x1017bfd8]
mov eax, dword [eax + 0x19e4]
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x2c]
jge 0x10072474
mov eax, dword [eax + 0x34]
lea ecx, [edx*8]
sub ecx, edx
push 0
lea edx, [eax + 0x14]
add eax, 0xc
lea edx, [edx + ecx*4]
lea ecx, [eax + ecx*4]
call fcn.10046e10
mov eax, dword [0x1017bfd8]
add esp, 4
mov eax, dword [eax + 0x19e4]
mov edx, dword [eax + 0x1bc]
test edx, edx
je 0x1007247c
mov ecx, dword [edx + 0xc]
lea eax, [ecx + 1]
test eax, eax
cmovns ecx, eax
cmp ecx, dword [edx + 0x2c]
jl 0x1007247c
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov eax, dword [ebp + 8]
mov bl, byte [esp + 0x12]
test bl, bl
je 0x100724a2
test dword [edi + 8], 0x4000000
je 0x100724a2
test al, 1
jne 0x100724a2
test byte [edi + 0x168], 0x20
jne 0x100724a2
call fcn.1004e1a0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret