Function at 0x1009fd70
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x6a14
call fcn.10127eb0
mov dword [esp + 0x60], ecx
mov ecx, dword [0x10190fc4]
push ebx
push esi
push edi
lea ecx, [ecx + 0x1240]
call fcn.100b6b70
test al, al
je 0x100a21fd
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100a21fd
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a21fd
mov eax, dword [0x10190fc0]
movd xmm0, dword [0x1027c6c0]
mov ecx, dword fs:[0x2c]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x1019273c]
movss dword [esp + 0x10], xmm0
mov esi, dword [eax]
mov eax, dword [0x10191b58]
mov edi, dword [ecx + eax*4]
mov eax, dword [0x1019c1bc]
cmp eax, dword [edi + 4]
jle 0x1009fe40
push 0x1019c1bc
call fcn.101273eb
add esp, 4
cmp dword [0x1019c1bc], 0xffffffff
jne 0x1009fe40
mov edx, 0xc60bf9f2
mov ecx, 0x101736a9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c1bc
mov dword [0x1019c1d0], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c1d0]
movss xmm0, dword [esi + eax]
comiss xmm0, dword [esp + 0x10]
ja 0x100a21fd
mov eax, dword [0x1019273c]
mov esi, dword [eax]
mov eax, dword [0x1019c1e0]
cmp eax, dword [edi + 4]
jle 0x1009fea7
push 0x1019c1e0
call fcn.101273eb
add esp, 4
cmp dword [0x1019c1e0], 0xffffffff
jne 0x1009fea7
mov edx, 0xc60bf9f2
mov ecx, 0x101737e1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c1e0
mov dword [0x1019c1e8], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c1e8]
cmp byte [esi + eax], 0
jne 0x100a21fd
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
call fcn.1007f160
cmp byte [eax], 0
jne 0x100a21fd
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x430]
call eax
mov ebx, eax
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100a21fd
mov ecx, ebx
call fcn.10070c40
cmp dword [eax], 0
je 0x100a21fd
mov eax, dword [0x10190fc0]
movd xmm0, dword [0x1027c6c0]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x10192640]
movss dword [esp + 0x10], xmm0
cmp eax, dword [edi + 4]
jle 0x1009ff63
push 0x10192640
call fcn.101273eb
add esp, 4
cmp dword [0x10192640], 0xffffffff
jne 0x1009ff63
mov edx, 0xc60bf9f2
mov ecx, 0x10164e61
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192640
mov dword [0x1019267c], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019267c]
movss xmm0, dword [eax + ebx]
comiss xmm0, dword [esp + 0x10]
ja 0x100a21fd
mov eax, dword [0x1019273c]
mov esi, dword [eax]
mov eax, dword [0x10192754]
cmp eax, dword [edi + 4]
jle 0x1009ffca
push 0x10192754
call fcn.101273eb
add esp, 4
cmp dword [0x10192754], 0xffffffff
jne 0x1009ffca
mov edx, 0xc60bf9f2
mov ecx, 0x10164dd9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192754
mov dword [0x10192700], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192700]
cmp dword [esi + eax], 0
jle 0x1009fff7
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x734]
call eax
test eax, eax
je 0x100a21fd
mov al, byte [eax + 0xec]
test al, al
je 0x100a21fd
mov ecx, ebx
call fcn.10070d20
mov cx, word [eax]
call fcn.1007efa0
mov edx, eax
test edx, edx
je 0x100a21fd
mov edi, dword [0x10190fc4]
lea ecx, [edx + edx*2]
cmp byte [edi + ecx*8 + 0xe80], 0
jne 0x100a003a
mov ecx, ebx
call fcn.10070d20
mov cx, word [eax]
call fcn.1008a260
mov edi, dword [0x10190fc4]
mov edx, eax
xor ecx, ecx
lea eax, [edx + edx*2]
cmp byte [edi + eax*8 + 0xe80], cl
cmovne ecx, edx
lea ebx, [ecx + ecx*2]
cmp byte [edi + ebx*8 + 0xe80], 0
mov dword [esp + 0x58], ebx
je 0x100a21fd
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax]
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm0
movd xmm0, dword [edi + ebx*8 + 0xe90]
subss xmm1, dword [0x1019c390]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10180038]
comiss xmm0, xmm1
ja 0x100a21fd
cmp byte [edi + ebx*8 + 0xe84], 0
jne 0x100a00bf
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
call fcn.100809f0
movss xmm0, dword [0x10180328]
comiss xmm0, dword [eax]
jb 0x100a21fd
cmp byte [edi + ebx*8 + 0xe83], 0
je 0x100a0155
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov eax, dword [eax + 0x71c]
call eax
cmp eax, 5
jne 0x100a0155
mov ebx, dword fs:[0x2c]
mov ecx, dword [0x10191b58]
mov eax, dword [0x1019273c]
mov edx, dword [ebx + ecx*4]
mov esi, dword [eax]
mov eax, dword [0x101926a8]
mov ebx, dword [esp + 0x58]
cmp eax, dword [edx + 4]
jle 0x100a0146
push 0x101926a8
call fcn.101273eb
add esp, 4
cmp dword [0x101926a8], 0xffffffff
jne 0x100a0146
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101926a8
mov dword [0x101926e4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x101926e4]
cmp byte [esi + eax], 0
je 0x100a21fd
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov eax, dword [eax + 0x734]
call eax
mov dword [esp + 0x68], eax
test eax, eax
je 0x100a21fd
mov ecx, dword [0x1019273c]
lea edx, [esp + 0x84]
push edx
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [eax + 0x568]
call eax
mov eax, dword [0x1019273c]
lea edx, [esp + 0x5c]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x474]
call eax
mov eax, dword [0x1019273c]
lea edx, [esp + 0xb4]
mov esi, dword [esp + 0x6c]
push edx
add esi, 0xc
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x568]
call eax
movss xmm1, dword [esp + 0xb8]
movss xmm2, dword [esp + 0xb4]
addss xmm2, dword [esi]
addss xmm1, dword [esi + 4]
movss dword [esp + 0x10], xmm2
mulss xmm1, dword [0x10180078]
mulss xmm2, dword [0x10180078]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.1014d430
movaps xmmword [esp + 0x130], xmm0
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [0x10180078]
call fcn.1014e70b
cmp byte [edi + ebx*8 + 0xe85], 0
movaps xmm2, xmmword [esp + 0x130]
mov eax, dword [esp + 0x68]
movaps xmm3, xmm2
shufps xmm3, xmm2, 1
movaps xmm4, xmm2
mulss xmm3, xmm0
movss xmm1, dword [eax + 0x10c]
mulss xmm4, xmm0
shufps xmm2, xmm2, 0xe
mulss xmm2, xmm1
mulss xmm3, xmm1
xorps xmm2, xmmword [0x101808d0]
addss xmm2, dword [esp + 0x64]
addss xmm3, dword [esp + 0x5c]
mulss xmm4, xmm1
movss dword [esp + 0xb0], xmm2
addss xmm4, dword [esp + 0x60]
movss dword [esp + 0xa8], xmm3
movss dword [esp + 0xac], xmm4
jne 0x100a02d9
mov eax, dword [0x10190fc0]
movq xmm0, qword [esp + 0x5c]
push 1
sub esp, 0xc
unpcklps xmm3, xmm4
mov edx, dword [eax + 0x30]
mov ecx, esp
movss dword [esp + 0x148], xmm2
sub esp, 0xc
mov eax, dword [esp + 0x154]
movq qword [ecx], xmm3
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x80]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call edx
add esp, 0x1c
test al, al
jne 0x100a21fd
mov al, byte [edi + ebx*8 + 0xe88]
mov ecx, dword [edi + ebx*8 + 0xe88]
and al, 1
mov byte [esp + 0x94], al
mov ebx, 1
mov eax, ecx
movss xmm0, dword [esp + 0x18]
shr eax, 1
and al, 1
movss dword [0x1019c390], xmm0
mov byte [esp + 0x9a], al
mov byte [esp + 0x98], al
mov byte [esp + 0x99], al
mov eax, ecx
shr eax, 2
and al, 1
mov dword [esp + 0x9f], 0
mov byte [esp + 0x97], al
mov byte [esp + 0x96], al
mov eax, ecx
shr eax, 3
and al, 1
shr ecx, 4
mov byte [esp + 0xa3], al
and cl, 1
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], al
mov byte [esp + 0xa6], al
mov eax, dword [0x10190fcc]
mov byte [esp + 0x9d], cl
mov byte [esp + 0x9b], cl
mov byte [esp + 0x9e], cl
mov byte [esp + 0x9c], cl
mov ecx, dword [eax + 0x10]
mov byte [esp + 0x95], 0
mov dword [esp + 0x90], ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp eax, ebx
jl 0x100a21fd
nop dword [eax]
mov eax, dword [0x10190fcc]
push ebx
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ebx, eax
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x100a21d7
mov ecx, dword [0x1019273c]
cmp ebx, dword [ecx]
je 0x100a21d7
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100a21d7
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a21d7
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
mov eax, dword [0x10190fc0]
push ecx
mov ecx, ebx
mov eax, dword [eax + 0x38]
call eax
test al, al
jne 0x100a042d
mov eax, dword [esp + 0x58]
cmp byte [edi + eax*8 + 0xe82], 0
je 0x100a21d7
mov ecx, ebx
call fcn.10070a80
cmp byte [eax], 0
jne 0x100a21d7
mov eax, dword [esp + 0x90]
cmp eax, 0x41
jae 0x100a2204
imul eax, eax, 0x363c
lea ecx, [esp + 0x398]
add eax, 0x1019ef60
push eax
call fcn.1007e3e0
cmp byte [esp + 0x39c0], 0
je 0x100a21ae
mov eax, dword [ebx + 0x2914]
mov ecx, ebx
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
movq qword [esp + 0x70], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
movq qword [esp + 0x78], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
movq qword [esp + 0x38], xmm0
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [ebx + 0x2920]
lea edx, [esp + 0x10]
test ecx, ecx
mov dword [esp + 0x10], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x2920]
cmovns edx, eax
movq qword [esp + 0x44], xmm0
cmp ecx, 0x100
mov eax, 0x10174f40
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0x3b0]
push eax
push dword [ebx + 0x2914]
call fcn.101289b0
add esp, 0xc
lea eax, [esp + 0x3974]
mov ecx, ebx
push eax
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x4c]
call eax
mov eax, dword [0x10190fc0]
lea ecx, [esp + 0x190]
movss xmm0, dword [esp + 0x3990]
push ecx
mov ecx, ebx
mov eax, dword [eax + 0xd0]
mov dword [esp + 0x194], 0
movss dword [esp + 0x198], xmm0
mov dword [esp + 0x19c], 0
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
movss xmm0, dword [ecx + 8]
ucomiss xmm0, dword [esp + 0x395c]
lahf
test ah, 0x44
jp 0x100a0615
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, dword [esp + 0x3960]
lahf
test ah, 0x44
jp 0x100a0615
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, dword [esp + 0x3964]
lahf
test ah, 0x44
jp 0x100a0615
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, dword [esp + 0x3968]
lahf
test ah, 0x44
jp 0x100a0615
movss xmm0, dword [ecx + 0x18]
ucomiss xmm0, dword [esp + 0x396c]
lahf
test ah, 0x44
jp 0x100a0615
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, dword [esp + 0x3970]
lahf
test ah, 0x44
jnp 0x100a06b0
movq xmm0, qword [esp + 0x395c]
movq qword [ecx + 8], xmm0
mov eax, dword [esp + 0x3964]
mov dword [ecx + 0x10], eax
movq xmm0, qword [esp + 0x3968]
movq qword [ecx + 0x14], xmm0
mov eax, dword [esp + 0x3970]
mov dword [ecx + 0x1c], eax
movss xmm1, dword [esp + 0x3968]
movss xmm2, dword [esp + 0x396c]
subss xmm2, dword [esp + 0x3960]
subss xmm1, dword [esp + 0x395c]
movss xmm0, dword [esp + 0x3970]
subss xmm0, dword [esp + 0x3964]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
mulss xmm0, dword [0x10180148]
movss dword [ecx + 0x24], xmm0
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x174]
call eax
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
test edx, edx
jne 0x100a0709
mov eax, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x338], eax
lea eax, [esp + 0x320]
movq qword [esp + 0x320], xmm0
movq xmm0, qword [esp + 0x70]
push eax
movq qword [esp + 0x334], xmm0
lea eax, [esp + 0x334]
jmp 0x100a217e
mov eax, dword [0x10190fcc]
push edx
mov ecx, dword [eax + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jne 0x100a0768
mov eax, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c8], eax
lea eax, [esp + 0x340]
movq qword [esp + 0x340], xmm0
movq xmm0, qword [esp + 0x70]
push eax
movq qword [esp + 0x1c4], xmm0
lea eax, [esp + 0x1c4]
jmp 0x100a217e
cmp dword [eax + 0xac], 0
jle 0x100a213b
mov ecx, dword [eax + 0xb0]
add ecx, eax
mov dword [esp + 0x18], ecx
je 0x100a213b
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x24], edx
nop
cmp byte [esp + ebx + 0x94], 0
je 0x100a07dc
test ebx, ebx
js 0x100a07dc
cmp ebx, dword [ecx + 4]
jge 0x100a07dc
mov eax, dword [ecx + 8]
add eax, edx
add eax, ecx
mov dword [esp + 0xc], eax
je 0x100a07dc
lea eax, [esp + 0xa8]
mov edx, ebx
push eax
lea eax, [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x3b8]
call fcn.10079a90
test al, al
jne 0x100a08f3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
add edx, 0x44
inc ebx
mov dword [esp + 0x24], edx
cmp edx, 0x50c
jl 0x100a0790
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
movq xmm0, qword [esp + 0x78]
mov edx, dword [esp + 0x28]
movss xmm1, dword [esp + 0x3c]
movss xmm2, dword [esp + 0x40]
movss xmm3, dword [esp + 0x44]
movss xmm4, dword [esp + 0x48]
movss xmm5, dword [esp + 0x4c]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x220]
movq qword [esp + 0x220], xmm0
movq xmm0, qword [esp + 0x70]
push eax
lea eax, [esp + 0x234]
movq qword [esp + 0x234], xmm0
movss xmm0, dword [esp + 0x3c]
push eax
call fcn.10124ef0
mov eax, dword [0x10190fc4]
cmp byte [eax + 0x1264], 0
je 0x100a21ae
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x41
jae 0x100a2204
imul ebx, eax, 0x363c
add ebx, 0x1019ef60
je 0x100a21ae
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x100a21ae
movss xmm0, dword [0x101803a0]
add ecx, 0xffffffff
mov dword [esp + 0x24], 0xffffffff
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x1c], ecx
js 0x100a21ae
nop dword [eax]
cmp dword [ebx + 0x10], ecx
jbe 0x100a2209
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx]
add eax, ecx
mov dword [esp + 0xc], eax
test edx, edx
je 0x100a11ed
mov eax, dword [edx]
jmp 0x100a11ef
mov eax, dword [0x10190fcc]
lea ecx, [esp + 0x350]
xorps xmm0, xmm0
mov dword [esp + 0xe0], 0
movq qword [esp + 0xd8], xmm0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov ebx, dword [eax + 0x14]
mov eax, dword [0x1019273c]
mov eax, dword [eax]
mov dword [esp + 0x160], eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x160], 0x10165418
push eax
call fcn.10070780
mov eax, dword [ebx]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x160]
push ecx
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x358]
push 0x46004009
push ecx
mov ecx, ebx
call eax
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x10c], ebx
je 0x100a0a05
mov eax, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x1d0]
movq qword [esp + 0x1d0], xmm0
movq xmm0, qword [esp + 0x70]
push eax
movq qword [esp + 0x1e4], xmm0
lea eax, [esp + 0x1e4]
mov edx, dword [esp + 0x2c]
mov ecx, ebx
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x44]
movss xmm3, dword [esp + 0x48]
movss xmm4, dword [esp + 0x4c]
movss xmm5, dword [esp + 0x50]
push eax
call fcn.10124ef0
jmp 0x100a07f0
mov ecx, dword [esp + 0x54]
call fcn.10070d20
cmp word [eax], 0x1f
je 0x100a0abb
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
mov ebx, dword fs:[0x2c]
mov edx, dword [0x10191b58]
mov ecx, dword [0x101927b0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + edx*4]
mov ebx, dword [esp + 0x20]
cmp ecx, dword [eax + 4]
jle 0x100a0a98
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a0a98
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x101927a8]
mov ecx, dword [esp + 0x10]
push dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0x108]
push eax
call fcn.10124720
jmp 0x100a0ac3
movss xmm0, dword [0x101801b8]
mov eax, dword [esp + 0x68]
movss xmm1, dword [esp + 0xec]
movss dword [esp + 0x24], xmm0
mulss xmm1, dword [eax + 0x10c]
movss xmm0, dword [eax + 0x110]
mulss xmm1, dword [0x10180048]
call fcn.1014f7c6
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
movd xmm1, dword [eax + 0xf0]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [esp + 0x24]
mulss xmm0, xmm1
movss xmm1, dword [eax + 0xf8]
mulss xmm1, dword [0x10180148]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x30], xmm1
call fcn.10070d20
cmp word [eax], 0x1f
je 0x100a0e2f
mov edx, dword [0x10191b58]
mov ebx, dword fs:[0x2c]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
mov eax, dword [0x101927b0]
mov ecx, dword [ebx + edx*4]
cmp eax, dword [ecx + 4]
jle 0x100a0ba7
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a0ba1
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov edx, dword [0x10191b58]
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101927a8]
mov ebx, dword fs:[0x2c]
mov al, byte [eax + ecx]
mov ecx, dword [ebx + edx*4]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
mov eax, dword [0x101927b8]
cmp eax, dword [ecx + 4]
jle 0x100a0c17
push 0x101927b8
call fcn.101273eb
add esp, 4
cmp dword [0x101927b8], 0xffffffff
jne 0x100a0c17
mov edx, 0xc60bf9f2
mov ecx, 0x101731a1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b8
mov dword [0x101927bc], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101927bc]
mov ebx, dword [0x10191b58]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x50], ecx
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [0x101927ac]
mov edx, dword [ecx + ebx*4]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
cmp eax, dword [edx + 4]
jle 0x100a0c99
push 0x101927ac
call fcn.101273eb
add esp, 4
cmp dword [0x101927ac], 0xffffffff
jne 0x100a0c95
mov edx, 0xc60bf9f2
mov ecx, 0x101731d5
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927ac
mov dword [0x101927b4], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x10], 0
jle 0x100a0e2f
mov eax, dword [esp + 0x104]
dec eax
cmp eax, 4
ja case.default.0x100a0cb1
jmp dword [eax*4 + 0x100a2210]
mov eax, dword [0x101927b4]
cmp byte [eax + ecx], 0
jne case.0x100a0cb1.2
cmp byte [esp + 0x17], 0
jne case.0x100a0cb1.2
jmp 0x100a0e2f
cmp byte [esp + 0x17], 0
je 0x100a0e2f
mov edx, dword [0x10191b58]
mov ebx, dword fs:[0x2c]
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
mov eax, dword [0x101927b0]
mov ecx, dword [ebx + edx*4]
cmp eax, dword [ecx + 4]
jle 0x100a0d46
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a0d40
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov edx, dword [0x10191b58]
mov ecx, dword [esp + 0x10]
mov eax, dword [0x101927a8]
mov ebx, dword fs:[0x2c]
mov al, byte [eax + ecx]
mov ecx, dword [ebx + edx*4]
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
mov eax, dword [0x101927b8]
cmp eax, dword [ecx + 4]
jle 0x100a0dba
push 0x101927b8
call fcn.101273eb
add esp, 4
cmp dword [0x101927b8], 0xffffffff
jne 0x100a0dba
mov edx, 0xc60bf9f2
mov ecx, 0x101731a1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b8
mov dword [0x101927bc], eax
call fcn.1012739a
add esp, 4
cmp byte [esp + 0x17], 0
mov eax, dword [0x101927bc]
mov ecx, dword [esp + 0x10]
movss xmm5, dword [0x101801b8]
movss xmm4, dword [0x10180148]
movss xmm1, dword [esp + 0x30]
je 0x100a0df8
mulss xmm1, dword [0x101800ec]
movss xmm4, dword [0x1018010c]
movss xmm5, dword [0x10180100]
movss xmm2, dword [esp + 0x24]
movd xmm3, dword [eax + ecx]
movaps xmm0, xmm2
mulss xmm1, xmm2
cvtdq2ps xmm3, xmm3
subss xmm0, xmm1
mulss xmm0, xmm5
mulss xmm0, xmm4
comiss xmm0, xmm3
jbe 0x100a0e29
divss xmm3, xmm4
movaps xmm1, xmm2
subss xmm1, xmm3
movss dword [esp + 0x24], xmm1
movss xmm0, dword [esp + 0xcc]
lea ecx, [esp + 0x19c]
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0xd0]
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0x64]
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fld dword [esp + 0x30]
fst dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
fld dword [esp + 0x50]
fst dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x84]
fxch st(1)
fpatan
addss xmm0, dword [esi]
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
fpatan
mulss xmm1, dword [0x1018031c]
fstp dword [esp + 0x10]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x88]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x19c], xmm1
movss xmm1, dword [esp + 0x10]
mulss xmm1, dword [0x1018031c]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x1a0], xmm1
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0x1a4], xmm0
call fcn.10078680
mov ecx, dword [esp + 0x58]
movq xmm0, qword [eax]
cmp byte [edi + ecx*8 + 0xe86], 0
mov eax, dword [eax + 8]
movq qword [esp + 0x1f4], xmm0
mov dword [esp + 0x1fc], eax
je 0x100a0f7b
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [esp + 0x58]
jmp 0x100a0f82
mov eax, dword [edi + ecx*8 + 0xe94]
movss xmm1, dword [esp + 0x24]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x100a11a5
push dword [edi + ecx*8 + 0xe8c]
mov eax, dword [0x1019273c]
lea ecx, [esp + 0x1f8]
push dword [esp + 0x70]
push ecx
push dword [esp + 0x60]
lea ecx, [esp + 0x3bc]
push ecx
push dword [esp + 0x2c]
mov ecx, dword [eax]
call fcn.1007a410
test al, al
je 0x100a11a5
mov eax, dword [esp + 0x6c]
or dword [eax + 0x30], 1
call fcn.10080a60
mov eax, dword [0x10190fc0]
addss xmm0, dword [esp + 0x39b4]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10180148]
cvttss2si eax, xmm0
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x58]
cmp byte [edi + eax*8 + 0xe81], 0
je 0x100a119b
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x3ac]
call fcn.10079c90
movss dword [esp + 0x118], xmm0
lea ecx, [esp + 0x1a8]
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x11c], xmm1
movss dword [esp + 0x120], xmm2
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm1
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esp + 0x64]
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x18]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x84]
fxch st(1)
fpatan
addss xmm0, dword [esi]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fpatan
mulss xmm1, dword [0x1018031c]
fstp dword [esp + 0xc]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x88]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x1a8], xmm1
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [0x1018031c]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x1ac], xmm1
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0x1b0], xmm0
call fcn.10078680
push esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x148], xmm0
movss xmm0, dword [esp + 0x148]
addss xmm0, dword [esi]
mov dword [esp + 0x150], eax
movss dword [esi], xmm0
movss xmm0, dword [esp + 0x14c]
addss xmm0, dword [esi + 4]
movss dword [esi + 4], xmm0
movss xmm0, dword [esp + 0x150]
addss xmm0, dword [esi + 8]
movss dword [esi + 8], xmm0
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov dword [0x1019c390], 0
mov eax, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x218], eax
lea eax, [esp + 0x200]
movq qword [esp + 0x200], xmm0
movq xmm0, qword [esp + 0x70]
push eax
movq qword [esp + 0x214], xmm0
lea eax, [esp + 0x214]
jmp 0x100a09d0
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x44]
call fcn.10081180
mov ecx, dword [esp + 0x1c]
test al, al
je 0x100a13b6
movss xmm3, dword [esp + 0x84]
movss xmm4, dword [esp + 0x88]
movss xmm2, dword [esp + 0x8c]
addss xmm3, dword [esi]
addss xmm4, dword [esi + 4]
addss xmm2, dword [esi + 8]
cmp dword [ebx + 0x10], ecx
jbe 0x100a2209
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx]
add eax, ecx
mov dword [esp + 0xc], eax
test edx, edx
je 0x100a1258
mov eax, dword [edx]
jmp 0x100a125a
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [esp + 0xc]
xorps xmm2, xmmword [0x101808d0]
movss dword [esp + 0x1bc], xmm2
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x1b4]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [eax + 0x18]
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x1c]
subss xmm0, dword [esp + 0x64]
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x30]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
fpatan
mulss xmm0, dword [0x1018031c]
fstp dword [esp + 0xc]
subss xmm0, xmm3
movss dword [esp + 0x1b4], xmm0
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [0x1018031c]
subss xmm0, xmm4
movss dword [esp + 0x1b8], xmm0
call fcn.10078680
mov ecx, dword [esp + 0x1c]
movq xmm0, qword [eax]
movq qword [esp + 0x16c], xmm0
fld dword [esp + 0x16c]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x170]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [esp + 0x18]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
comiss xmm1, xmm0
jbe 0x100a13b6
mov edx, ecx
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x24], edx
jmp 0x100a13ba
mov edx, dword [esp + 0x24]
sub ecx, 1
mov dword [esp + 0x1c], ecx
jns 0x100a08d0
cmp edx, 0xffffffff
jle 0x100a21ae
cmp dword [ebx + 0x10], edx
jbe 0x100a2209
mov ecx, dword [ebx]
add edx, dword [ebx + 0xc]
test ecx, ecx
je 0x100a13e6
mov eax, dword [ecx]
jmp 0x100a13e8
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
push dword [eax + ecx*4]
lea ecx, [esp + 0x39dc]
call fcn.1007ee50
mov ebx, dword [esp + 0x20]
mov ecx, ebx
mov eax, dword [ebx + 0x2914]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx]
movq qword [esp + 0x78], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
movq qword [esp + 0x70], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, ebx
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
movq qword [esp + 0x38], xmm0
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [ebx + 0x2920]
lea edx, [esp + 0xc]
test ecx, ecx
mov dword [esp + 0xc], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x2920]
cmovns edx, eax
movq qword [esp + 0x44], xmm0
cmp ecx, 0x100
mov eax, 0x10174f40
cmovle eax, edx
mov eax, dword [eax]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0x3a24]
push eax
push dword [ebx + 0x2914]
call fcn.101289b0
add esp, 0xc
lea eax, [esp + 0x39ec]
mov ecx, ebx
push eax
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x4c]
call eax
mov eax, dword [0x10190fc0]
lea ecx, [esp + 0x178]
movss xmm0, dword [esp + 0x39fc]
mov eax, dword [eax + 0xd0]
mov dword [esp + 0x178], 0
movss dword [esp + 0x17c], xmm0
mov dword [esp + 0x180], 0
push ecx
mov ecx, ebx
call eax
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
movss xmm0, dword [ecx + 8]
ucomiss xmm0, dword [esp + 0x3a04]
lahf
test ah, 0x44
jp 0x100a15a6
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, dword [esp + 0x3a08]
lahf
test ah, 0x44
jp 0x100a15a6
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, dword [esp + 0x3a0c]
lahf
test ah, 0x44
jp 0x100a15a6
movss xmm0, dword [ecx + 0x14]
ucomiss xmm0, dword [esp + 0x3a10]
lahf
test ah, 0x44
jp 0x100a15a6
movss xmm0, dword [ecx + 0x18]
ucomiss xmm0, dword [esp + 0x3a14]
lahf
test ah, 0x44
jp 0x100a15a6
movss xmm0, dword [ecx + 0x1c]
ucomiss xmm0, dword [esp + 0x3a18]
lahf
test ah, 0x44
jnp 0x100a1641
movq xmm0, qword [esp + 0x3a04]
movq qword [ecx + 8], xmm0
mov eax, dword [esp + 0x3a0c]
mov dword [ecx + 0x10], eax
movq xmm0, qword [esp + 0x3a10]
movq qword [ecx + 0x14], xmm0
mov eax, dword [esp + 0x3a18]
mov dword [ecx + 0x1c], eax
movss xmm1, dword [esp + 0x3a10]
movss xmm2, dword [esp + 0x3a14]
subss xmm2, dword [esp + 0x3a08]
subss xmm1, dword [esp + 0x3a04]
movss xmm0, dword [esp + 0x3a18]
subss xmm0, dword [esp + 0x3a0c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm2
mulss xmm0, dword [0x10180148]
movss dword [ecx + 0x24], xmm0
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x174]
call eax
mov eax, dword [ebx + 4]
lea ecx, [ebx + 4]
mov eax, dword [eax + 0x20]
call eax
mov edx, eax
test edx, edx
jne 0x100a16f7
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x258], eax
lea eax, [esp + 0x240]
movq qword [esp + 0x240], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x254], xmm0
lea eax, [esp + 0x254]
mov edx, dword [esp + 0x20]
mov ecx, ebx
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x44]
movss xmm3, dword [esp + 0x48]
movss xmm4, dword [esp + 0x4c]
movss xmm5, dword [esp + 0x50]
push eax
call fcn.10124ef0
lea ecx, [esp + 0x39d8]
call fcn.1007e9f0
mov eax, dword [esp + 0x39d8]
push 8
push eax
mov dword [esp + 0x39e0], 0
call fcn.10127383
add esp, 8
jmp 0x100a21ae
mov eax, dword [0x10190fcc]
push edx
mov ecx, dword [eax + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jne 0x100a1756
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x278], eax
lea eax, [esp + 0x260]
movq qword [esp + 0x260], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x274], xmm0
lea eax, [esp + 0x274]
jmp 0x100a1699
cmp dword [eax + 0xac], 0
jle 0x100a20f3
mov ecx, dword [eax + 0xb0]
add ecx, eax
mov dword [esp + 0x10], ecx
je 0x100a20f3
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x18], edx
nop dword [eax]
cmp byte [esp + ebx + 0x94], 0
je 0x100a17c8
test ebx, ebx
js 0x100a17c8
cmp ebx, dword [ecx + 4]
jge 0x100a17c8
mov eax, dword [ecx + 8]
add eax, edx
add eax, ecx
mov dword [esp + 0x34], eax
je 0x100a17c8
lea eax, [esp + 0xa8]
mov edx, ebx
push eax
lea eax, [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x3a2c]
call fcn.10079a90
test al, al
jne 0x100a1824
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
add edx, 0x44
inc ebx
mov dword [esp + 0x18], edx
cmp edx, 0x50c
jl 0x100a1780
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2e8], eax
lea eax, [esp + 0x2d0]
movq qword [esp + 0x2d0], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x2e4], xmm0
lea eax, [esp + 0x2e4]
jmp 0x100a1699
mov eax, dword [0x10190fcc]
lea ecx, [esp + 0x350]
xorps xmm0, xmm0
mov dword [esp + 0xe0], 0
movq qword [esp + 0xd8], xmm0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov ebx, dword [eax + 0x14]
mov eax, dword [0x1019273c]
mov eax, dword [eax]
mov dword [esp + 0x168], eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x168], 0x10165418
push eax
call fcn.10070780
mov eax, dword [ebx]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x168]
push ecx
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x358]
push 0x46004009
push ecx
mov ecx, ebx
call eax
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x10c], ebx
je 0x100a1936
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x298], eax
lea eax, [esp + 0x280]
movq qword [esp + 0x280], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x294], xmm0
lea eax, [esp + 0x294]
mov edx, dword [esp + 0x20]
mov ecx, ebx
movss xmm0, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x40]
movss xmm2, dword [esp + 0x44]
movss xmm3, dword [esp + 0x48]
movss xmm4, dword [esp + 0x4c]
movss xmm5, dword [esp + 0x50]
push eax
call fcn.10124ef0
jmp 0x100a17dc
mov ecx, dword [esp + 0x54]
call fcn.10070d20
cmp word [eax], 0x1f
je 0x100a19e7
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
mov ecx, dword fs:[0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xc], eax
mov eax, dword [0x10191b58]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x101927b0]
cmp ecx, dword [edx + 4]
jle 0x100a19c4
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a19c4
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x101927a8]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x18]
mov edx, dword [esp + 0x6c]
mov al, byte [eax + ecx]
mov ecx, dword [esp + 0x108]
push eax
call fcn.10124720
jmp 0x100a19ef
movss xmm0, dword [0x101801b8]
mov eax, dword [esp + 0x68]
movss xmm1, dword [esp + 0xec]
movss dword [esp + 0x18], xmm0
mulss xmm1, dword [eax + 0x10c]
movss xmm0, dword [eax + 0x110]
mulss xmm1, dword [0x10180048]
call fcn.1014f7c6
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x54]
movd xmm1, dword [eax + 0xf0]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [esp + 0x18]
mulss xmm0, xmm1
movss xmm1, dword [eax + 0xf8]
mulss xmm1, dword [0x10180148]
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x30], xmm1
call fcn.10070d20
cmp word [eax], 0x1f
je 0x100a1d35
mov eax, dword [esp + 0x10c]
mov ecx, dword fs:[0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [0x10191b58]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], eax
mov ecx, eax
mov eax, dword [0x101927b0]
cmp eax, dword [ecx + 4]
jle 0x100a1ad6
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a1ad2
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, dword [0x101927a8]
mov edx, dword [esp + 0xc]
mov al, byte [edx + eax]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xc], eax
mov eax, dword [0x101927b8]
cmp eax, dword [ecx + 4]
jle 0x100a1b40
push 0x101927b8
call fcn.101273eb
add esp, 4
cmp dword [0x101927b8], 0xffffffff
jne 0x100a1b3c
mov edx, 0xc60bf9f2
mov ecx, 0x101731a1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b8
mov dword [0x101927bc], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov eax, dword [0x101927bc]
mov eax, dword [edx + eax]
mov edx, dword [esp + 0x10c]
mov dword [esp + 0xc], eax
mov eax, dword [0x101927ac]
mov dword [esp + 0x18], edx
cmp eax, dword [ecx + 4]
jle 0x100a1baa
push 0x101927ac
call fcn.101273eb
add esp, 4
cmp dword [0x101927ac], 0xffffffff
jne 0x100a1ba6
mov edx, 0xc60bf9f2
mov ecx, 0x101731d5
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927ac
mov dword [0x101927b4], eax
call fcn.1012739a
add esp, 4
mov edx, dword [esp + 0x18]
cmp dword [esp + 0xc], 0
jle 0x100a1d35
mov eax, dword [esp + 0x104]
dec eax
cmp eax, 4
ja case.default.0x100a1bc2
jmp dword [eax*4 + 0x100a2224]
mov eax, dword [0x101927b4]
cmp byte [edx + eax], 0
jne case.0x100a1bc2.2
cmp byte [esp + 0x17], 0
jne case.0x100a1bc2.2
jmp 0x100a1d35
cmp byte [esp + 0x17], 0
je 0x100a1d35
mov eax, dword [esp + 0x10c]
mov ecx, dword fs:[0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [0x10191b58]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
mov ecx, eax
mov eax, dword [0x101927b0]
cmp eax, dword [ecx + 4]
jle 0x100a1c5a
push 0x101927b0
call fcn.101273eb
add esp, 4
cmp dword [0x101927b0], 0xffffffff
jne 0x100a1c56
mov edx, 0xc60bf9f2
mov ecx, 0x101731b9
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b0
mov dword [0x101927a8], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x24]
mov eax, dword [0x101927a8]
mov edx, dword [esp + 0xc]
mov al, byte [edx + eax]
mov edx, dword [esp + 0x10c]
mov byte [esp + 0x17], al
mov eax, dword [0x101927b8]
mov dword [esp + 0x18], edx
cmp eax, dword [ecx + 4]
jle 0x100a1cc4
push 0x101927b8
call fcn.101273eb
add esp, 4
cmp dword [0x101927b8], 0xffffffff
jne 0x100a1cc0
mov edx, 0xc60bf9f2
mov ecx, 0x101731a1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101927b8
mov dword [0x101927bc], eax
call fcn.1012739a
add esp, 4
mov edx, dword [esp + 0x18]
cmp byte [esp + 0x17], 0
mov eax, dword [0x101927bc]
movss xmm5, dword [0x101801b8]
movss xmm4, dword [0x10180148]
movss xmm1, dword [esp + 0x30]
je 0x100a1cfe
mulss xmm1, dword [0x101800ec]
movss xmm4, dword [0x1018010c]
movss xmm5, dword [0x10180100]
movss xmm2, dword [esp + 0x50]
movd xmm3, dword [edx + eax]
movaps xmm0, xmm2
mulss xmm1, xmm2
cvtdq2ps xmm3, xmm3
subss xmm0, xmm1
mulss xmm0, xmm5
mulss xmm0, xmm4
comiss xmm0, xmm3
jbe 0x100a1d2f
divss xmm3, xmm4
movaps xmm1, xmm2
subss xmm1, xmm3
movss dword [esp + 0x50], xmm1
movss xmm0, dword [esp + 0xcc]
lea ecx, [esp + 0x184]
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0xd0]
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0xd4]
subss xmm0, dword [esp + 0x64]
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fld dword [esp + 0x18]
fst dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fld dword [esp + 0x30]
fst dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0xc], xmm0
fld dword [esp + 0xc]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x84]
fxch st(1)
fpatan
addss xmm0, dword [esi]
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
fpatan
mulss xmm1, dword [0x1018031c]
fstp dword [esp + 0xc]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x88]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x184], xmm1
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [0x1018031c]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x188], xmm1
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0x18c], xmm0
call fcn.10078680
mov ecx, dword [esp + 0x58]
movq xmm0, qword [eax]
cmp byte [edi + ecx*8 + 0xe86], 0
mov eax, dword [eax + 8]
movq qword [esp + 0x2a4], xmm0
mov dword [esp + 0x2ac], eax
je 0x100a1e81
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e8]
call eax
mov ecx, dword [esp + 0x58]
jmp 0x100a1e88
mov eax, dword [edi + ecx*8 + 0xe94]
movss xmm1, dword [esp + 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x100a20ab
push dword [edi + ecx*8 + 0xe8c]
mov eax, dword [0x1019273c]
lea ecx, [esp + 0x2a8]
push dword [esp + 0x70]
push ecx
push dword [esp + 0x60]
lea ecx, [esp + 0x3a30]
push ecx
push dword [esp + 0x24]
mov ecx, dword [eax]
call fcn.1007a410
test al, al
je 0x100a20ab
mov eax, dword [esp + 0x6c]
or dword [eax + 0x30], 1
call fcn.10080a60
mov eax, dword [0x10190fc0]
addss xmm0, dword [esp + 0x3a1c]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10180148]
cvttss2si eax, xmm0
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x58]
cmp byte [edi + eax*8 + 0xe81], 0
je 0x100a20a1
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x3ac]
call fcn.10079c90
movss dword [esp + 0x124], xmm0
lea ecx, [esp + 0xb4]
subss xmm0, dword [esp + 0x5c]
movss dword [esp + 0x128], xmm1
movss dword [esp + 0x12c], xmm2
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm1
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm2
subss xmm0, dword [esp + 0x64]
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0x34], xmm0
fld dword [esp + 0x34]
fld dword [esp + 0xc]
fst dword [esp + 0x34]
movss xmm1, dword [esp + 0x34]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x34], xmm0
fld dword [esp + 0x34]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x84]
fxch st(1)
fpatan
addss xmm0, dword [esi]
fstp dword [esp + 0x34]
movss xmm1, dword [esp + 0x34]
fpatan
mulss xmm1, dword [0x1018031c]
fstp dword [esp + 0x34]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x88]
addss xmm0, dword [esi + 4]
movss dword [esp + 0xb4], xmm1
movss xmm1, dword [esp + 0x34]
mulss xmm1, dword [0x1018031c]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esi + 8]
movss dword [esp + 0xb8], xmm1
xorps xmm0, xmmword [0x101808d0]
movss dword [esp + 0xbc], xmm0
call fcn.10078680
push esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x154], xmm0
movss xmm0, dword [esp + 0x154]
addss xmm0, dword [esi]
mov dword [esp + 0x15c], eax
movss dword [esi], xmm0
movss xmm0, dword [esp + 0x158]
addss xmm0, dword [esi + 4]
movss dword [esi + 4], xmm0
movss xmm0, dword [esp + 0x15c]
addss xmm0, dword [esi + 8]
movss dword [esi + 8], xmm0
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov dword [0x1019c390], 0
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c8], eax
lea eax, [esp + 0x2b0]
movq qword [esp + 0x2b0], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x2c4], xmm0
lea eax, [esp + 0x2c4]
jmp 0x100a1901
mov eax, dword [esp + 0x28]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x308], eax
lea eax, [esp + 0x2f0]
movq qword [esp + 0x2f0], xmm0
movq xmm0, qword [esp + 0x78]
push eax
movq qword [esp + 0x304], xmm0
lea eax, [esp + 0x304]
jmp 0x100a1699
mov eax, dword [esp + 0x1c]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x138], eax
lea eax, [esp + 0x310]
movq qword [esp + 0x310], xmm0
movq xmm0, qword [esp + 0x70]
push eax
movq qword [esp + 0x134], xmm0
lea eax, [esp + 0x134]
movss xmm5, dword [esp + 0x50]
mov ecx, ebx
movss xmm4, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x48]
movss xmm2, dword [esp + 0x44]
movss xmm1, dword [esp + 0x40]
movss xmm0, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push eax
call fcn.10124ef0
lea ecx, [esp + 0x398]
call fcn.1007e920
mov eax, dword [esp + 0x398]
push 8
push eax
mov dword [esp + 0x3a0], 0
call fcn.10127383
add esp, 8
mov eax, dword [0x10190fcc]
mov ebx, dword [esp + 0x90]
inc ebx
mov dword [esp + 0x90], ebx
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp ebx, eax
jle 0x100a03b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e910
call fcn.10081310
nop
mov eax, 0xda100a0c
or al, 10
adc dl, bl
or al, 0xa
adc dl, bl
or al, 0xa
adc dl, bl
or al, 0xa
adc cl, cl
sbb ecx, dword [edx]
adc bl, ch
sbb ecx, dword [edx]
adc bl, ch
sbb ecx, dword [edx]
adc bl, ch
sbb ecx, dword [edx]
adc bl, ch
sbb ecx, dword [edx]
adc ah, cl
int3