Function at 0x10019e80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x1006800c]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
call fcn.10011340
mov dword [esp + 0xd0], 0xffffff00
test eax, eax
je 0x1001a708
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a708
cmp dword [0x1006a578], 0
jne 0x10019f1b
cmp dword [0x1006a2f8], 0
jne 0x10019f1b
cmp dword [0x1006f7b4], 0
jne 0x10019f1b
cmp dword [0x1006c4d4], 0
jne 0x10019f1b
cmp dword [0x1006fbec], 0
jne 0x10019f1b
cmp dword [0x1006c374], 0
jne 0x10019f1b
cmp dword [0x1006b158], 0
je 0x1001a708
xor ebx, ebx
nop dword [eax]
cmp dword [0x1006a420], 1
jne 0x10019f36
cmp dword [0x1006c02c], 0
je 0x1001a6fe
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
mov cl, bl
mov al, dl
not cl
not al
and cl, 1
and al, 1
mov byte [esp + 0x17], cl
cmp cl, al
jne 0x10019f6b
cmp dword [0x1006c438], 0
je 0x1001a6fe
cmp ebx, edx
je 0x1001a6fe
mov ecx, ebx
call fcn.10014630
mov edi, eax
test edi, edi
je 0x1001a6fe
mov ecx, dword [0x10069ea0]
push 0x1006b148
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x1001a6fe
mov edx, dword [0x1006a454]
add edx, eax
cmp edx, eax
jbe 0x1001a6fe
mov ecx, edi
call edx
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x1001a6fe
mov ecx, ebx
call fcn.10014630
test eax, eax
je 0x1001a006
mov edx, dword [0x1006c3c4]
movss xmm0, dword [0x1005de0c]
mov ecx, dword [edx + 0x258]
comiss xmm0, dword [eax + ecx]
jbe 0x1001a006
mov ecx, dword [edx + 0x298]
mov eax, dword [0x1006ad44]
mov al, byte [ecx + eax]
mov ecx, 0xffffff00
not al
and al, 1
cmp byte [esp + 0x17], al
mov eax, 0xffccffff
cmove ecx, eax
jmp 0x1001a02e
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov al, byte [ecx + eax]
mov ecx, 0xffffff00
not al
and al, 1
cmp byte [esp + 0x17], al
mov eax, 0xffccffff
cmovne ecx, eax
cmp dword [0x1006a578], 0
mov dword [0x1006ab6c], ecx
je 0x1001a1b2
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a1b2
test ebx, ebx
je 0x1001a0b8
cmp ebx, 2
je 0x1001a0b8
cmp ebx, 4
je 0x1001a0b8
cmp ebx, 6
je 0x1001a0b8
cmp ebx, 8
je 0x1001a0b8
cmp ebx, 0xa
je 0x1001a0b8
cmp ebx, 0xc
je 0x1001a0b8
cmp ebx, 0xe
je 0x1001a0b8
cmp ebx, 1
je 0x1001a0b1
cmp ebx, 3
je 0x1001a0b1
cmp ebx, 5
je 0x1001a0b1
cmp ebx, 7
je 0x1001a0b1
cmp ebx, 9
je 0x1001a0b1
cmp ebx, 0xb
je 0x1001a0b1
cmp ebx, 0xd
je 0x1001a0b1
cmp ebx, 0xf
je 0x1001a0b1
xor edi, edi
jmp 0x1001a0bd
mov edi, 0xff00b4ff
jmp 0x1001a0bd
mov edi, 0xffff0000
push 7
mov edx, ebx
lea ecx, [esp + 0x78]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a1b2
movss xmm1, dword [esp + 0x78]
lea eax, [esp + 0xb0]
addss xmm1, dword [0x1005dd34]
movss xmm2, dword [esp + 0x74]
movss xmm0, dword [esp + 0x7c]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xd8], xmm0
mov eax, dword [esp + 0xd8]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a1b2
mov eax, dword [0x1006c3c4]
movss xmm0, dword [esp + 0xb4]
subss xmm0, dword [0x1005ddac]
mov eax, dword [eax + 0x29c]
cvttss2si edx, xmm0
lea ecx, [eax + ebx*4]
mov eax, dword [0x1006ad44]
mov eax, dword [ecx + eax]
add eax, 8
cvttss2si ecx, dword [esp + 0xb0]
mov dword [esp + 0x28], eax
lea eax, [ecx - 1]
mov dword [esp + 0x12c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x134], eax
lea eax, [edx - 1]
mov dword [esp + 0x130], eax
lea eax, [edx + 1]
mov dword [esp + 0x138], eax
je 0x1001a1b2
mov ecx, dword [0x1006c4f4]
lea edx, [esp + 0x12c]
push edi
push 0x101
push edx
mov eax, dword [ecx]
push 0xffffffffffffffff
push dword [esp + 0x38]
push 0
push ecx
call dword [eax + 0x3c]
cmp dword [0x1006b158], 0
je 0x1001a30a
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a30a
mov eax, dword [0x1006c3c4]
push 7
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
lea ecx, [esp + 0x3c]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a30a
push 7
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a30a
movss xmm1, dword [esp + 0x30]
lea eax, [esp + 0x80]
addss xmm1, dword [0x1005dd34]
movss xmm0, dword [esp + 0x34]
push esi
push eax
movss dword [esp + 0x120], xmm0
sub esp, 0xc
movss xmm0, dword [esp + 0x40]
mov ecx, esp
mov eax, dword [esp + 0x12c]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a30a
movss xmm1, dword [esp + 0x38]
movss xmm2, dword [esp + 0x3c]
subss xmm2, dword [esp + 0x30]
subss xmm1, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [esp + 0x34]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1001a2bd
sqrtsd xmm0, xmm0
jmp 0x1001a2c2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
sub esp, 8
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x8c]
subss xmm0, dword [0x1005ddbc]
push str._.1f_M
push 0xffccffff
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [esp + 0x94]
push eax
push dword [0x1006c4f4]
call fcn.10011c90
add esp, 0x1c
cmp dword [0x1006a2f8], 0
je 0x1001a456
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a456
mov edi, dword [0x1006ab6c]
lea ecx, [esp + 0x44]
push 7
mov edx, ebx
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a456
push 9
mov edx, ebx
lea ecx, [esp + 0x54]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a456
movss xmm1, dword [esp + 0x48]
lea eax, [esp + 0x98]
addss xmm1, dword [0x1005dd24]
movss xmm2, dword [esp + 0x44]
movss xmm0, dword [esp + 0x4c]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a456
movss xmm1, dword [esp + 0x54]
lea eax, [esp + 0x8c]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x50]
movss xmm0, dword [esp + 0x58]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xfc], xmm0
mov eax, dword [esp + 0xfc]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a456
movq xmm0, qword [esp + 0x8c]
sub esp, 0xc
mov eax, dword [esp + 0xa0]
mov ecx, esp
sub esp, 0xc
mov edx, edi
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0xb0]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0xb8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.10019580
add esp, 0x18
cmp dword [0x1006fbec], 0
je 0x1001a667
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a667
mov eax, dword [0x1006ab6c]
lea ecx, [esp + 0x5c]
push 7
mov edx, ebx
mov dword [esp + 0x24], eax
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a667
push 9
mov edx, ebx
lea ecx, [esp + 0x6c]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a667
mov eax, dword [0x1006fc2c]
movss xmm1, dword [esp + 0x60]
addss xmm1, dword [0x1005dd24]
movss xmm2, dword [esp + 0x5c]
movss xmm0, dword [esp + 0x64]
shr eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [0x1006fc30]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xa4]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x108], xmm0
mov eax, dword [esp + 0x108]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a667
movss xmm1, dword [esp + 0x6c]
lea eax, [esp + 0x104]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x68]
movss xmm0, dword [esp + 0x70]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x114], xmm0
mov eax, dword [esp + 0x114]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a667
movss xmm0, dword [esp + 0xa8]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0x108]
subss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x1001a59f
mulss xmm0, dword [0x1005de08]
cvttss2si eax, xmm0
cvttss2si esi, dword [esp + 0xa4]
cdq
and edx, 3
lea edi, [edx + eax]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
sar edi, 2
sar eax, 1
mov ecx, esi
sub ecx, edi
sub esi, ecx
movd xmm0, eax
lea eax, [edi + 0xc]
cvtdq2ps xmm0, xmm0
add eax, esi
movss dword [esp + 0x11c], xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x120], xmm0
mov eax, eax
test eax, eax
jns 0x1001a5f5
add eax, 1
sar eax, 1
add eax, 0xfffffffa
add eax, ecx
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
dec eax
movss dword [esp + 0x124], xmm0
movd xmm0, eax
mov eax, dword [0x1006a2c4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x128], xmm0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f4ccccd
push eax
call dword [ecx + 0x2c]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [0x1006a2c4]
lea edx, [esp + 0x11c]
push dword [esp + 0x20]
push 2
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov esi, dword [esp + 0x18]
cmp dword [0x1006f7b4], 0
je 0x1001a69a
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a69a
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push esi
call fcn.10015ac0
add esp, 4
cmp dword [0x1006c4d4], 0
je 0x1001a6cb
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a6cb
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push esi
call fcn.10018d60
add esp, 4
cmp dword [0x1006c374], 0
je 0x1001a6fe
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a6fe
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push esi
call fcn.10019b80
add esp, 4
inc ebx
cmp ebx, 0xf
jle 0x10019f20
call fcn.10011480
mov dword [esp + 0xcc], 0xffbfff00
mov dword [esp + 0xc8], 0xffffc000
test eax, eax
je 0x1001af35
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001af35
cmp dword [0x1006a578], 0
jne 0x1001a78b
cmp dword [0x1006a2f8], 0
jne 0x1001a78b
cmp dword [0x1006f7b4], 0
jne 0x1001a78b
cmp dword [0x1006c4d4], 0
jne 0x1001a78b
cmp dword [0x1006fbec], 0
jne 0x1001a78b
cmp dword [0x1006c374], 0
jne 0x1001a78b
cmp dword [0x1006b158], 0
je 0x1001af35
xor ebx, ebx
mov dword [esp + 0x20], ebx
jmp 0x1001a797
mov esi, dword [esp + 0x18]
cmp dword [0x1006a420], 1
jne 0x1001a7ad
cmp dword [0x1006c02c], 0
je 0x1001af21
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
mov cl, bl
mov al, dl
not cl
not al
and cl, 1
and al, 1
mov byte [esp + 0x17], cl
cmp cl, al
jne 0x1001a7e2
cmp dword [0x1006c438], 0
je 0x1001af21
cmp ebx, edx
je 0x1001af21
mov ecx, ebx
call fcn.10014630
mov edi, eax
test edi, edi
je 0x1001af21
mov ecx, dword [0x10069ea0]
push 0x1006b148
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x1001af21
mov edx, dword [0x1006a454]
add edx, eax
cmp edx, eax
jbe 0x1001af21
mov ecx, edi
call edx
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
jle 0x1001af21
mov ecx, ebx
call fcn.10014630
test eax, eax
je 0x1001a8a4
mov edx, dword [0x1006c3c4]
movss xmm0, dword [0x1005de0c]
mov ecx, dword [edx + 0x258]
comiss xmm0, dword [eax + ecx]
jbe 0x1001a8a4
mov ecx, dword [edx + 0x298]
mov eax, dword [0x1006ad44]
mov al, byte [ecx + eax]
not al
and al, 1
cmp byte [esp + 0x17], al
je 0x1001a8a4
cmp edi, 0x5a
mov ecx, 0xff00b4ff
mov eax, 0xffbfff00
cmovg eax, ecx
cmp edi, 0x46
mov ecx, 0xffffff00
cmovle eax, ecx
cmp edi, 0x32
mov ecx, 0xffffc000
cmovle eax, ecx
cmp edi, 0x14
jg 0x1001a8a9
mov eax, 0xffff0000
jmp 0x1001a8a9
mov eax, 0xffccffff
cmp dword [0x1006a578], 0
mov dword [0x1006ab6c], eax
je 0x1001a9fd
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001a9fd
mov eax, dword [0x1006c3c4]
mov edx, ebx
push 7
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov eax, dword [eax + ecx]
lea ecx, [esp + 0x6c]
and eax, 1
mov dword [esp + 0x20], eax
call fcn.100156a0
add esp, 4
test al, al
je 0x1001a9fd
movss xmm1, dword [esp + 0x6c]
lea eax, [esp + 0xa4]
addss xmm1, dword [0x1005dd34]
movss xmm2, dword [esp + 0x68]
movss xmm0, dword [esp + 0x70]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x120], xmm0
mov eax, dword [esp + 0x120]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001a9fd
mov eax, dword [0x1006c3c4]
movss xmm0, dword [esp + 0xa8]
subss xmm0, dword [0x1005dd9c]
mov eax, dword [eax + 0x29c]
cvttss2si edx, xmm0
lea ecx, [eax + ebx*4]
mov eax, dword [0x1006ad44]
mov edi, dword [ecx + eax]
cvttss2si ecx, dword [esp + 0xa4]
lea eax, [ecx - 1]
mov dword [esp + 0x11c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x124], eax
lea eax, [edx - 1]
mov dword [esp + 0x120], eax
lea eax, [edx + 1]
mov dword [esp + 0x128], eax
add edi, 8
je 0x1001a9fd
mov edx, dword [esp + 0x1c]
mov eax, 0xffff0000
mov ecx, dword [0x1006c4f4]
xor dl, 1
cmp byte [esp + 0x17], dl
mov edx, 0xff00b4ff
cmove eax, edx
mov ecx, dword [ecx]
push eax
push 0x101
lea eax, [esp + 0x124]
push eax
push 0xffffffffffffffff
push edi
push 0
push dword [0x1006c4f4]
call dword [ecx + 0x3c]
cmp dword [0x1006b158], 0
je 0x1001ac09
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ac09
mov eax, dword [0x1006c3c4]
push 7
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
lea ecx, [esp + 0x54]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001ac09
push 7
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001ac09
push 9
mov edx, ebx
lea ecx, [esp + 0x60]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001ac09
movss xmm1, dword [esp + 0x30]
lea eax, [esp + 0x98]
addss xmm1, dword [0x1005dd24]
movss xmm0, dword [esp + 0x34]
push esi
push eax
movss dword [esp + 0x108], xmm0
sub esp, 0xc
movss xmm0, dword [esp + 0x40]
mov ecx, esp
mov eax, dword [esp + 0x114]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001ac09
movss xmm1, dword [esp + 0x60]
lea eax, [esp + 0x8c]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x5c]
movss xmm0, dword [esp + 0x64]
push esi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x108], xmm0
mov eax, dword [esp + 0x108]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001ac09
movss xmm0, dword [esp + 0x9c]
xorps xmm1, xmm1
subss xmm0, dword [esp + 0x90]
comiss xmm1, xmm0
jbe 0x1001ab4e
mulss xmm0, dword [0x1005de08]
movss xmm1, dword [esp + 0x50]
movss xmm2, dword [esp + 0x54]
subss xmm2, dword [esp + 0x30]
subss xmm1, dword [esp + 0x2c]
cvttss2si edi, dword [esp + 0x98]
cvttss2si eax, xmm0
mov esi, edi
movss xmm0, dword [esp + 0x58]
subss xmm0, dword [esp + 0x34]
mulss xmm2, xmm2
cdq
mulss xmm1, xmm1
and edx, 3
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
lea ebx, [edx + eax]
sar ebx, 2
sub esi, ebx
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1001abb3
sqrtsd xmm0, xmm0
jmp 0x1001abb8
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvttss2si eax, dword [esp + 0x90]
sub esp, 8
sub edi, esi
cvtsd2ss xmm0, xmm0
add eax, 4
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
push str._.1f_M
push 0xffccffff
push eax
lea eax, [ebx + 0xc]
add eax, edi
mov eax, eax
test eax, eax
jns 0x1001abef
add eax, 1
sar eax, 1
add eax, 0xfffffffa
add eax, esi
push eax
push dword [0x1006c4f4]
call fcn.10011c90
mov ebx, dword [esp + 0x3c]
add esp, 0x1c
cmp dword [0x1006a2f8], 0
je 0x1001ad5b
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ad5b
mov esi, dword [0x1006ab6c]
lea ecx, [esp + 0x44]
push 6
mov edx, ebx
call fcn.100156a0
add esp, 4
test al, al
je 0x1001ad5b
push 9
mov edx, ebx
lea ecx, [esp + 0x3c]
call fcn.100156a0
mov edi, dword [esp + 0x1c]
add esp, 4
test al, al
je 0x1001ad5f
movss xmm1, dword [esp + 0x48]
lea eax, [esp + 0xb0]
addss xmm1, dword [0x1005dd24]
movss xmm2, dword [esp + 0x44]
movss xmm0, dword [esp + 0x4c]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xfc], xmm0
mov eax, dword [esp + 0xfc]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001ad5f
movss xmm1, dword [esp + 0x3c]
lea eax, [esp + 0x80]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x38]
movss xmm0, dword [esp + 0x40]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001ad5f
movq xmm0, qword [esp + 0x80]
sub esp, 0xc
mov eax, dword [esp + 0x94]
mov ecx, esp
sub esp, 0xc
mov edx, esi
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0xc8]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0xd0]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, edi
call fcn.10019580
add esp, 0x18
jmp 0x1001ad5f
mov edi, dword [esp + 0x18]
cmp dword [0x1006fbec], 0
je 0x1001ae88
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ae88
mov eax, dword [0x1006ab6c]
lea ecx, [esp + 0x74]
push 7
mov edx, ebx
mov dword [esp + 0x2c], eax
call fcn.100156a0
add esp, 4
test al, al
je 0x1001ae88
mov eax, dword [0x1006fc30]
movq xmm0, qword [esp + 0x74]
mov esi, dword [0x1006fc2c]
mov ecx, dword [esp + 0x7c]
shr eax, 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xbc]
push edi
push eax
sub esp, 0xc
shr esi, 1
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001ae88
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1006a2c4]
subss xmm0, dword [0x1005dde4]
movss dword [esp + 0x12c], xmm0
movd xmm0, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1005dde0]
movss dword [esp + 0x130], xmm0
movss xmm0, dword [esp + 0xbc]
movss dword [esp + 0x134], xmm0
movss xmm0, dword [esp + 0xc0]
movss dword [esp + 0x138], xmm0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f4ccccd
push eax
call dword [ecx + 0x2c]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [0x1006a2c4]
lea edx, [esp + 0x12c]
push dword [esp + 0x28]
push 2
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
cmp dword [0x1006f7b4], 0
je 0x1001aebb
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001aebb
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push edi
call fcn.10017580
add esp, 4
cmp dword [0x1006c4d4], 0
je 0x1001aeec
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001aeec
mov edx, dword [esp + 0x24]
mov ecx, ebx
push edi
call fcn.10019060
add esp, 4
cmp dword [0x1006c374], 0
je 0x1001af25
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001af25
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push edi
call fcn.10019b80
add esp, 4
jmp 0x1001af25
mov edi, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, 0xf
jle 0x1001a793
jmp 0x1001af39
mov edi, dword [esp + 0x18]
call fcn.100115a0
test eax, eax
je 0x1001b77d
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b77d
cmp dword [0x1006a578], 0
jne 0x1001afa6
cmp dword [0x1006a2f8], 0
jne 0x1001afa6
cmp dword [0x1006f7b4], 0
jne 0x1001afa6
cmp dword [0x1006c4d4], 0
jne 0x1001afa6
cmp dword [0x1006fbec], 0
jne 0x1001afa6
cmp dword [0x1006c374], 0
jne 0x1001afa6
cmp dword [0x1006b158], 0
je 0x1001b77d
xor ebx, ebx
nop dword [eax + eax]
cmp dword [0x1006a420], 1
jne 0x1001afc6
cmp dword [0x1006c02c], 0
je 0x1001b773
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
mov cl, bl
mov al, dl
not cl
not al
and cl, 1
and al, 1
mov byte [esp + 0x17], cl
cmp cl, al
jne 0x1001affb
cmp dword [0x1006c438], 0
je 0x1001b773
cmp ebx, edx
je 0x1001b773
mov ecx, ebx
call fcn.10014630
mov esi, eax
test esi, esi
je 0x1001b773
mov ecx, dword [0x10069ea0]
push 0x1006b148
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x1001b773
mov edx, dword [0x1006a454]
add edx, eax
cmp edx, eax
jbe 0x1001b773
mov ecx, esi
call edx
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jle 0x1001b773
mov ecx, ebx
call fcn.10014630
test eax, eax
je 0x1001b0ca
mov edx, dword [0x1006c3c4]
movss xmm0, dword [0x1005de0c]
mov ecx, dword [edx + 0x258]
comiss xmm0, dword [eax + ecx]
jbe 0x1001b0ca
mov ecx, dword [edx + 0x298]
mov eax, dword [0x1006ad44]
mov eax, dword [eax + ecx]
mov cl, byte [esp + 0x17]
mov dword [esp + 0x24], eax
not al
and al, 1
cmp cl, al
je 0x1001b0e9
cmp esi, 0x5a
mov edx, 0xff80daeb
cmovg edx, dword [esp + 0xc8]
cmp esi, 0x46
cmovle edx, dword [esp + 0xcc]
cmp esi, 0x32
cmovle edx, dword [esp + 0xd0]
mov dword [esp + 0x18], edx
cmp esi, 0x14
jg 0x1001b0f1
mov dword [esp + 0x18], 0xffff0000
jmp 0x1001b0f1
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov eax, dword [eax + ecx]
mov cl, byte [esp + 0x17]
mov dword [esp + 0x24], eax
not al
and al, 1
mov dword [esp + 0x18], 0xffccffff
cmp cl, al
mov edx, 0xffffc000
mov eax, 0xffccffff
cmove edx, eax
cmp dword [0x1006a578], 0
mov dword [esp + 0x20], edx
je 0x1001b242
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b242
push 7
mov edx, ebx
lea ecx, [esp + 0x6c]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b242
movss xmm1, dword [esp + 0x6c]
lea eax, [esp + 0xbc]
addss xmm1, dword [0x1005dd34]
movss xmm2, dword [esp + 0x68]
movss xmm0, dword [esp + 0x70]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x120], xmm0
mov eax, dword [esp + 0x120]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b242
mov eax, dword [0x1006c3c4]
movss xmm0, dword [esp + 0xc0]
subss xmm0, dword [0x1005dd94]
mov eax, dword [eax + 0x29c]
cvttss2si edx, xmm0
lea ecx, [eax + ebx*4]
mov eax, dword [0x1006ad44]
mov eax, dword [ecx + eax]
add eax, 8
cvttss2si ecx, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
lea eax, [ecx - 1]
mov dword [esp + 0x11c], eax
lea eax, [ecx + 1]
mov dword [esp + 0x124], eax
lea eax, [edx - 1]
mov dword [esp + 0x120], eax
lea eax, [edx + 1]
mov dword [esp + 0x128], eax
je 0x1001b242
mov edx, dword [esp + 0x24]
mov eax, 0xffffc000
mov ecx, dword [0x1006f78c]
not dl
and dl, 1
cmp byte [esp + 0x17], dl
mov edx, 0xff00b4ff
mov ecx, dword [ecx]
cmove eax, edx
push eax
push 0x101
lea eax, [esp + 0x124]
push eax
push 0xffffffffffffffff
push dword [esp + 0x2c]
push 0
push dword [0x1006f78c]
call dword [ecx + 0x3c]
cmp dword [0x1006b158], 0
je 0x1001b39a
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b39a
mov eax, dword [0x1006c3c4]
push 7
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
lea ecx, [esp + 0x60]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b39a
push 7
mov edx, ebx
lea ecx, [esp + 0x30]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b39a
movss xmm1, dword [esp + 0x30]
lea eax, [esp + 0xa4]
addss xmm1, dword [0x1005dd34]
movss xmm0, dword [esp + 0x34]
push edi
push eax
movss dword [esp + 0x108], xmm0
sub esp, 0xc
movss xmm0, dword [esp + 0x40]
mov ecx, esp
mov eax, dword [esp + 0x114]
unpcklps xmm0, xmm1
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b39a
movss xmm1, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x60]
subss xmm2, dword [esp + 0x30]
subss xmm1, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x64]
subss xmm0, dword [esp + 0x34]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1001b34d
sqrtsd xmm0, xmm0
jmp 0x1001b352
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
sub esp, 8
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xb0]
subss xmm0, dword [0x1005dda8]
push str._.1f_Meter
push 0xffccffff
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [esp + 0xb8]
push eax
push dword [0x1006f78c]
call fcn.10011c90
add esp, 0x1c
cmp dword [0x1006a2f8], 0
je 0x1001b4e2
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b4e2
push 6
mov edx, ebx
lea ecx, [esp + 0x54]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b4e2
push 9
mov edx, ebx
lea ecx, [esp + 0x48]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b4e2
movss xmm1, dword [esp + 0x54]
lea eax, [esp + 0x8c]
addss xmm1, dword [0x1005dd24]
movss xmm2, dword [esp + 0x50]
movss xmm0, dword [esp + 0x58]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x108], xmm0
mov eax, dword [esp + 0x108]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b4e2
movss xmm1, dword [esp + 0x48]
lea eax, [esp + 0x98]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x44]
movss xmm0, dword [esp + 0x4c]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xfc], xmm0
mov eax, dword [esp + 0xfc]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b4e2
movq xmm0, qword [esp + 0x98]
sub esp, 0xc
mov eax, dword [esp + 0xac]
mov ecx, esp
mov edx, dword [esp + 0x2c]
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0xa4]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0xac]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, edi
call fcn.10019580
add esp, 0x18
cmp dword [0x1006fbec], 0
je 0x1001b6de
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b6de
push 7
mov edx, ebx
lea ecx, [esp + 0x3c]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b6de
push 9
mov edx, ebx
lea ecx, [esp + 0x78]
call fcn.100156a0
add esp, 4
test al, al
je 0x1001b6de
mov eax, dword [0x1006fc2c]
movss xmm1, dword [esp + 0x3c]
addss xmm1, dword [0x1005dd24]
movss xmm2, dword [esp + 0x38]
movss xmm0, dword [esp + 0x40]
shr eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [0x1006fc30]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x80]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0xf0], xmm0
mov eax, dword [esp + 0xf0]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b6de
movss xmm1, dword [esp + 0x78]
lea eax, [esp + 0xb0]
subss xmm1, dword [0x1005dd30]
movss xmm2, dword [esp + 0x74]
movss xmm0, dword [esp + 0x7c]
push edi
push eax
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
movss dword [esp + 0x12c], xmm0
mov eax, dword [esp + 0x12c]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
call fcn.10014e30
mov ecx, eax
call fcn.10014c60
test al, al
je 0x1001b6de
movss xmm0, dword [esp + 0x84]
xorps xmm2, xmm2
movss xmm1, dword [esp + 0xb4]
subss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x1001b622
mulss xmm0, dword [0x1005de08]
cvttss2si eax, xmm0
movd xmm0, dword [esp + 0x1c]
cdq
and edx, 3
add eax, edx
cvttss2si edx, dword [esp + 0x80]
sar eax, 2
cvtdq2ps xmm0, xmm0
mov ecx, edx
sub ecx, eax
sub edx, ecx
add edx, 0xc
add eax, edx
movss dword [esp + 0x12c], xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x130], xmm0
mov eax, eax
test eax, eax
jns 0x1001b670
add eax, 1
sar eax, 1
add ecx, 0xfffffffa
add eax, ecx
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
dec eax
movss dword [esp + 0x134], xmm0
movd xmm0, eax
mov eax, dword [0x1006a2c4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x138], xmm0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f4ccccd
push eax
call dword [ecx + 0x2c]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
mov eax, dword [0x1006a2c4]
lea edx, [esp + 0x12c]
push dword [esp + 0x20]
push 2
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [0x1006a2c4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
cmp dword [0x1006f7b4], 0
je 0x1001b713
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov esi, dword [ecx]
call dword [esi + 4]
cmp dword [eax], 0
je 0x1001b70f
mov edx, dword [esp + 0x18]
mov ecx, ebx
push edi
call fcn.10017f90
add esp, 4
mov esi, dword [esp + 0x28]
cmp dword [0x1006c4d4], 0
je 0x1001b742
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b742
push edi
mov edx, esi
mov ecx, ebx
call fcn.10019300
add esp, 4
cmp dword [0x1006c374], 0
je 0x1001b773
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov esi, dword [ecx]
call dword [esi + 4]
cmp dword [eax], 0
je 0x1001b773
mov edx, dword [esp + 0x20]
mov ecx, ebx
push edi
call fcn.10019b80
add esp, 4
inc ebx
cmp ebx, 0xf
jle 0x1001afb0
call fcn.10011340
test eax, eax
jne 0x1001badf
call fcn.10011480
test eax, eax
jne 0x1001badf
call fcn.100115a0
test eax, eax
jne 0x1001badf
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001badf
cmp dword [0x1006a578], 0
jne 0x1001b804
cmp dword [0x1006a2f8], 0
jne 0x1001b804
cmp dword [0x1006f7b4], 0
jne 0x1001b804
cmp dword [0x1006c4d4], 0
jne 0x1001b804
cmp dword [0x1006fbec], 0
jne 0x1001b804
cmp dword [0x1006c374], 0
jne 0x1001b804
cmp dword [0x1006b158], 0
je 0x1001badf
xor ebx, ebx
cmp dword [0x1006a420], 1
jne 0x1001b81c
cmp dword [0x1006c02c], 0
je 0x1001bad5
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov edx, dword [eax + ecx]
mov cl, bl
mov al, dl
not cl
not al
and cl, 1
and al, 1
mov byte [esp + 0x17], cl
cmp cl, al
jne 0x1001b851
cmp dword [0x1006c438], 0
je 0x1001bad5
cmp ebx, edx
je 0x1001bad5
mov ecx, ebx
call fcn.10014630
mov esi, eax
test esi, esi
je 0x1001bad5
mov ecx, dword [0x10069ea0]
push 0x1006b148
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
je 0x1001bad5
mov edx, dword [0x1006a454]
add edx, eax
cmp edx, eax
jbe 0x1001bad5
mov ecx, esi
call edx
mov esi, eax
test esi, esi
jle 0x1001bad5
mov ecx, ebx
call fcn.10014630
test eax, eax
je 0x1001b91e
mov ecx, dword [0x1006c3c4]
movss xmm0, dword [0x1005de0c]
mov ecx, dword [ecx + 0x258]
comiss xmm0, dword [eax + ecx]
jbe 0x1001b91e
cmp esi, 0x50
mov eax, 0xff00ff00
mov edx, 0xffbfff00
cmovg edx, eax
cmp esi, 0x46
mov eax, 0xffffff00
cmovle edx, eax
cmp esi, 0x32
mov eax, 0xffffc000
cmovle edx, eax
cmp esi, 0x1e
mov eax, 0xffff7276
cmovle edx, eax
cmp esi, 0xf
mov eax, 0xffff0000
cmovle edx, eax
mov eax, dword [0x1006c3c4]
mov ecx, dword [eax + 0x298]
mov eax, dword [0x1006ad44]
mov al, byte [ecx + eax]
not al
and al, 1
cmp byte [esp + 0x17], al
jne 0x1001b923
mov edx, 0xffccffff
cmp dword [0x1006a578], 0
mov dword [0x1006ab6c], edx
je 0x1001b9b9
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b9b9
test ebx, ebx
je 0x1001b9a9
cmp ebx, 2
je 0x1001b9a9
cmp ebx, 4
je 0x1001b9a9
cmp ebx, 6
je 0x1001b9a9
cmp ebx, 8
je 0x1001b9a9
cmp ebx, 0xa
je 0x1001b9a9
cmp ebx, 0xc
je 0x1001b9a9
cmp ebx, 0xe
je 0x1001b9a9
cmp ebx, 1
je 0x1001b9a2
cmp ebx, 3
je 0x1001b9a2
cmp ebx, 5
je 0x1001b9a2
cmp ebx, 7
je 0x1001b9a2
cmp ebx, 9
je 0x1001b9a2
cmp ebx, 0xb
je 0x1001b9a2
cmp ebx, 0xd
je 0x1001b9a2
cmp ebx, 0xf
je 0x1001b9a2
xor edx, edx
jmp 0x1001b9ae
mov edx, 0xff80daeb
jmp 0x1001b9ae
mov edx, 0xffff7276
push edi
mov ecx, ebx
call fcn.10019910
add esp, 4
cmp dword [0x1006b158], 0
je 0x1001b9e6
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001b9e6
push edi
mov ecx, ebx
call fcn.100197e0
add esp, 4
cmp dword [0x1006a2f8], 0
je 0x1001ba13
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ba13
push edi
mov ecx, ebx
call fcn.100196e0
add esp, 4
cmp dword [0x1006fbec], 0
je 0x1001ba40
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ba40
push edi
mov ecx, ebx
call fcn.10019a80
add esp, 4
cmp dword [0x1006f7b4], 0
je 0x1001ba73
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001ba73
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push edi
call fcn.100163f0
add esp, 4
cmp dword [0x1006c4d4], 0
je 0x1001baa2
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001baa2
push edi
mov edx, esi
mov ecx, ebx
call fcn.10018b80
add esp, 4
cmp dword [0x1006c374], 0
je 0x1001bad5
mov ecx, dword [0x10069ea0]
mov eax, dword [0x1006c3c4]
add eax, 0x1c
push eax
mov edx, dword [ecx]
call dword [edx + 4]
cmp dword [eax], 0
je 0x1001bad5
mov edx, dword [0x1006ab6c]
mov ecx, ebx
push edi
call fcn.10019b80
add esp, 4
inc ebx
cmp ebx, 0xf
jle 0x1001b806
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100473e9
mov esp, ebp
pop ebp
ret