Function at 0x10093640
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
mov esi, ecx
mov byte [esp + 7], dl
mov ecx, dword [0x101e0c0c]
push edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
mov eax, dword [ecx + 0x198c]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x198c]
cmp byte [edi + 0x7f], 0
jne 0x1009396d
mov eax, dword [ebp + 8]
and eax, 2
mov dword [esp + 0x14], eax
je 0x10093693
cmp dword [edi + 0x1bc], 0
je 0x10093693
call fcn.10067d70
push ecx
push esi
mov ecx, edi
call fcn.10065a90
mov esi, dword [0x101e0c0c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100936c7
mov dl, byte [ecx]
test dl, dl
je 0x100936c7
cmp dl, 0x23
jne 0x100936c1
cmp byte [ecx + 1], dl
je 0x100936c7
inc ecx
cmp ecx, 0xffffffff
jb 0x100936b1
movss xmm0, dword [esi + 0x18ac]
xorps xmm6, xmm6
movss dword [esp + 0x28], xmm0
cmp eax, ecx
jne 0x100936e1
xorps xmm1, xmm1
jmp 0x10093727
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18a8]
lea eax, [esp + 0x40]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.10080e40
movss xmm0, dword [esp + 0x30]
xorps xmm6, xmm6
addss xmm0, dword [0x10162720]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x28], xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov esi, dword [ebp + 0xc]
movss dword [esp + 0x18], xmm1
movss xmm7, dword [esi + 4]
ucomiss xmm7, xmm6
movss dword [esp + 0x24], xmm7
lahf
test ah, 0x44
jp 0x10093755
movaps xmm7, xmm0
addss xmm7, dword [0x101627c4]
movss dword [esp + 0x24], xmm7
movss xmm0, dword [esi]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x10093765
movaps xmm0, xmm1
movss xmm1, dword [edi + 0xc8]
lea ecx, [esp + 0x30]
movss dword [esp + 0x20], xmm1
movss xmm1, dword [edi + 0xcc]
addss xmm1, dword [edi + 0xf0]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm7
movss dword [esp + 0x1c], xmm1
xorps xmm1, xmm1
call fcn.10065e10
cmp dword [esp + 0x14], 0
mov eax, dword [0x101e0c0c]
mov eax, dword [eax + 0x198c]
movss xmm1, dword [eax + 0x214]
subss xmm1, dword [eax + 0xc]
jne 0x1009380e
mov edx, dword [eax + 0x1bc]
mov dword [esp + 0x30], eax
test edx, edx
je 0x1009380e
mov esi, dword [edx + 0xc]
lea eax, [esi + 1]
test eax, eax
cmovns esi, eax
cmp esi, dword [edx + 0x2c]
jge 0x10093e5b
movss xmm1, dword [edx + 0x18]
lea ecx, [esi*8]
subss xmm1, dword [edx + 0x14]
mov eax, dword [edx + 0x34]
sub ecx, esi
mov esi, dword [ebp + 0xc]
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]
movss xmm2, dword [esi + 4]
movss xmm0, dword [esp + 0x20]
ucomiss xmm2, xmm6
subss xmm1, dword [edi + 0x3c]
lahf
subss xmm1, xmm0
maxss xmm1, dword [esp + 0x18]
test ah, 0x44
jp 0x10093839
movaps xmm2, xmm7
mov ecx, dword [ebp + 8]
movss xmm3, dword [esi]
and ecx, 0x2000
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x10093869
test ecx, ecx
jne 0x10093869
movss xmm7, dword [esp + 0x1c]
movaps xmm4, xmm0
movaps xmm5, xmm7
addss xmm4, xmm3
addss xmm5, xmm2
jmp 0x10093892
movss xmm7, dword [esp + 0x1c]
addss xmm0, xmm1
ucomiss xmm3, xmm6
movaps xmm5, xmm7
movaps xmm4, xmm0
addss xmm5, xmm2
lahf
test ah, 0x44
jnp 0x1009388a
test ecx, ecx
je 0x10093892
movaps xmm4, xmm0
addss xmm4, dword [edi + 0x3c]
mov ecx, dword [esp + 0x10]
movss xmm6, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
push 0
movss xmm3, dword [ecx + 0x1544]
movss xmm2, dword [ecx + 0x1548]
movaps xmm0, xmm3
mulss xmm0, dword [0x101626c8]
lea ecx, [esp + 0x44]
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x101626c8]
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm3, xmm1
subss xmm2, xmm0
subss xmm6, xmm1
subss xmm7, xmm0
addss xmm3, xmm4
addss xmm2, xmm5
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm2
call fcn.10065f40
add esp, 4
test al, al
jne 0x10093975
cmp dword [esp + 0x14], 0
je 0x1009396d
cmp dword [edi + 0x1bc], 0
je 0x1009396d
mov eax, dword [0x101e0c0c]
mov eax, dword [eax + 0x198c]
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x2c]
jge 0x10093e5b
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.10067ce0
add esp, 4
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0x400
add ecx, ecx
mov edx, ecx
or edx, 4
and eax, 0x800
cmove edx, ecx
mov ecx, dword [ebp + 8]
mov eax, ecx
mov esi, edx
or esi, 8
and eax, 0x1000
movzx eax, byte [esp + 0xb]
cmove esi, edx
mov edx, esi
or edx, 0x100
and ecx, 8
cmove edx, esi
mov esi, dword [esp + 0xc]
test ecx, 8
mov ecx, 0
cmove ecx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], ecx
mov ecx, edx
or ecx, 0x12
and al, 4
lea eax, [esp + 0xb]
cmove ecx, edx
mov edx, esi
push ecx
push eax
lea eax, [esp + 0x12]
push eax
lea ecx, [esp + 0x4c]
call fcn.100857c0
mov cl, al
add esp, 0xc
mov byte [esp + 0xb], cl
test cl, cl
jne 0x10093a04
cmp byte [esp + 0xa], al
je 0x10093b31
mov edx, dword [esp + 0x10]
mov ecx, dword [0x101e0c0c]
cmp byte [edx + 0x1aff], 0
jne 0x10093a6e
cmp dword [edx + 0x1a9c], edi
jne 0x10093a6e
mov eax, dword [edx + 0x1af4]
cmp eax, dword [edi + 0x134]
jne 0x10093a6e
mov byte [edx + 0x1afe], 1
mov esi, dword [ecx + 0x1a9c]
mov eax, dword [edi + 0x134]
test esi, esi
je 0x10093e5b
test eax, eax
je 0x10093a55
cmp eax, 1
jne 0x10093e5b
mov edx, dword [esp + 0xc]
mov dword [ecx + 0x1aa0], edx
mov dword [esi + eax*4 + 0x300], edx
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
cmp byte [esp + 0xb], 0
je 0x10093aa4
mov eax, dword [ecx + 0x19ac]
cmp eax, esi
je 0x10093a90
test eax, eax
je 0x10093a90
cmp byte [ecx + 0x1c68], 0
je 0x10093e5b
mov eax, dword [ecx + 0x198c]
mov byte [ecx + 0x19bf], 1
or dword [eax + 0x110], 4
cmp byte [esp + 0xa], 0
je 0x10093b31
movss xmm1, dword [edx + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10093ac4
xorps xmm1, xmm1
jmp 0x10093acc
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
push 0xf
push ecx
mov ecx, dword [edi + 0x274]
addss xmm1, dword [0x101626c8]
mov dword [esp], 0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x1a1a1a
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1007d7d0
mov ecx, dword [0x101e0c0c]
test ecx, ecx
je 0x10093e5b
mov ecx, dword [ecx + 0x94]
cmp dword [ecx + 0x34], 1
jle 0x10093e5b
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 4]
call fcn.1006e2e0
mov eax, dword [edi + 0x274]
movaps xmm0, xmmword [esp + 0x40]
lea esi, [eax + 0x3c]
mov edx, dword [esi]
mov dword [esp + 0x20], eax
movaps xmmword [esp + 0x50], xmm0
test edx, edx
je 0x10093bbf
mov eax, dword [eax + 0x44]
mov ecx, edx
add ecx, ecx
movups xmm1, xmmword [eax + ecx*8 - 0x10]
comiss xmm1, dword [esp + 0x40]
movaps xmmword [esp + 0x30], xmm1
jbe 0x10093b6e
movss dword [esp + 0x50], xmm1
jmp 0x10093b74
movss xmm1, dword [esp + 0x50]
movss xmm2, dword [esp + 0x34]
comiss xmm2, dword [esp + 0x44]
jbe 0x10093b89
movss dword [esp + 0x54], xmm2
jmp 0x10093b8f
movss xmm2, dword [esp + 0x54]
movss xmm0, dword [esp + 0x48]
movss xmm3, dword [esp + 0x38]
comiss xmm0, xmm3
jbe 0x10093ba6
movss dword [esp + 0x58], xmm3
movss xmm0, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x3c]
comiss xmm0, xmm3
jbe 0x10093bcb
movss dword [esp + 0x5c], xmm3
jmp 0x10093bcb
movss xmm2, dword [esp + 0x54]
movss xmm1, dword [esp + 0x50]
comiss xmm1, dword [esp + 0x58]
jb 0x10093bd8
movss dword [esp + 0x58], xmm1
comiss xmm2, dword [esp + 0x5c]
jb 0x10093be5
movss dword [esp + 0x5c], xmm2
mov ecx, dword [esi + 4]
cmp edx, ecx
jne 0x10093c18
inc edx
mov dword [esp + 0x30], edx
test ecx, ecx
je 0x10093c04
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
sar eax, 1
add eax, ecx
jmp 0x10093c09
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.10082300
mov edx, dword [esi]
mov eax, dword [esi + 8]
add edx, edx
movups xmm0, xmmword [esp + 0x50]
mov ecx, dword [esp + 0x20]
movups xmmword [eax + edx*8], xmm0
inc dword [esi]
call fcn.1007ba20
cmp byte [esp + 0x1c], 0
mov esi, dword [edi + 0x274]
je 0x10093c63
lea eax, [esp + 0x50]
push eax
call fcn.10052320
mov ecx, eax
xorps xmm0, xmm0
movss xmm1, dword [ecx]
comiss xmm0, xmm1
jbe 0x10093c9c
movss xmm3, dword [0x10162728]
xorps xmm1, xmm1
jmp 0x10093ca8
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x50]
movss xmm1, dword [0x101626fc]
mov dword [esp + 0x50], 0x3f4dcdce
mov dword [esp + 0x54], 0x3f4dcdce
movss xmm0, dword [eax + 0x1500]
movss dword [esp + 0x5c], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x58], 0x3f4dcdce
movss xmm3, dword [0x10162728]
minss xmm1, xmm3
movss xmm4, dword [0x10162960]
movss xmm2, dword [0x101626c8]
mulss xmm1, xmm4
addss xmm1, xmm2
cvttss2si edx, xmm1
movss xmm1, dword [ecx + 4]
comiss xmm0, xmm1
jbe 0x10093cd3
xorps xmm1, xmm1
jmp 0x10093cd7
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm2
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 8]
shl eax, 8
or edx, eax
comiss xmm0, xmm1
jbe 0x10093cf7
xorps xmm1, xmm1
jmp 0x10093cfb
minss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm2
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0xc]
shl eax, 0x10
or edx, eax
comiss xmm0, xmm1
ja 0x10093d1d
minss xmm1, xmm3
movaps xmm0, xmm1
movss xmm1, dword [esp + 0x40]
addss xmm1, dword [0x10162830]
movss xmm3, dword [esp + 0x28]
mulss xmm0, xmm4
push ecx
push dword [esp + 0x30]
movss dword [esp + 0x38], xmm1
mov ecx, esi
movss xmm1, dword [esp + 0x2c]
addss xmm0, xmm2
mulss xmm1, xmm2
mulss xmm3, xmm2
cvttss2si eax, xmm0
subss xmm1, xmm3
shl eax, 0x18
or eax, edx
push eax
lea eax, [esp + 0x3c]
addss xmm1, dword [0x101627c4]
push eax
addss xmm1, dword [esp + 0x54]
movss dword [esp + 0x44], xmm1
call fcn.1007de00
mov ecx, dword [edi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle 0x10093e5b
dec eax
mov dword [ecx + 0x3c], eax
call fcn.1007ba20
cmp byte [esp + 0xa], 0
je 0x10093da6
call fcn.1006e390
cmp dword [esp + 0x14], 0
je 0x10093e1a
cmp dword [edi + 0x1bc], 0
je 0x10093e1a
mov eax, dword [0x101e0c0c]
mov eax, dword [eax + 0x198c]
mov eax, dword [eax + 0x1bc]
mov edx, dword [eax + 0xc]
cmp edx, dword [eax + 0x2c]
jge 0x10093e5b
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.10067ce0
mov eax, dword [0x101e0c0c]
add esp, 4
mov eax, dword [eax + 0x198c]
mov edx, dword [eax + 0x1bc]
test edx, edx
je 0x10093e1a
mov ecx, dword [edx + 0xc]
lea eax, [ecx + 1]
test eax, eax
cmovns ecx, eax
cmp ecx, dword [edx + 0x2c]
jge 0x10093e5b
mov al, byte [esp + 0xb]
test al, al
je 0x1009396f
test dword [edi + 8], 0x4000000
je 0x1009396f
mov ecx, dword [ebp + 8]
test cl, 1
jne 0x1009396f
test byte [edi + 0x168], 0x20
jne 0x1009396f
call fcn.1006f2e0
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3