Function at 0x1006ad90
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
push esi
mov esi, ecx
mov dword [esp + 0x28], edx
mov ecx, dword [0x1017bfd8]
push edi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x19e4]
mov dword [esp + 0x4c], edi
cmp byte [edi + 0x7f], 0
jne 0x1006b055
mov edx, dword [ebp + 0x10]
mov eax, edx
and eax, 0x100080
cmp eax, 0x100080
je 0x1006e565
mov eax, edx
and eax, 0x440
mov dword [esp + 0x1c], eax
cmp eax, 0x440
je 0x1006e565
mov eax, edx
mov ecx, edx
shr eax, 0xe
not al
shr ecx, 0x14
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [esp + 0x44], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc8], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x64], eax
mov eax, edx
shr eax, 0x12
test al, 1
jne 0x1006e565
test cl, cl
je 0x1006ae54
call fcn.1004d760
push ecx
push esi
mov ecx, edi
call fcn.100448e0
mov esi, dword [0x1017bfd8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xfc]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x1006ae8b
mov dl, byte [ecx]
test dl, dl
je 0x1006ae8b
cmp dl, 0x23
jne 0x1006ae85
cmp byte [ecx + 1], dl
je 0x1006ae8b
inc ecx
cmp ecx, 0xffffffff
jb 0x1006ae75
movss xmm1, dword [0x10145324]
movss xmm0, dword [esi + 0x1900]
movss dword [esp + 0x6c], xmm1
cmp eax, ecx
jne 0x1006aeb3
xorps xmm2, xmm2
movss dword [esp + 0xf8], xmm2
jmp 0x1006aef9
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18fc]
lea eax, [esp + 0x68]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.1005fe90
movss xmm0, dword [esp + 0x58]
addss xmm0, dword [0x10145038]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [esp + 0x5c]
cmp byte [esp + 0x30], 0
je 0x1006af10
movss xmm0, dword [esi + 0x1900]
mulss xmm0, dword [0x1014511c]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0xa0]
mov eax, dword [ebp + 0xc]
movss xmm1, dword [edi + 0x14]
subss xmm1, dword [0x10145190]
movss xmm2, dword [esi + 0x153c]
push dword [eax + 4]
addss xmm2, xmm2
push dword [eax]
addss xmm2, xmm0
call fcn.10045300
movss xmm2, dword [edi + 0xc8]
add esp, 8
movss xmm0, dword [esp + 0xa0]
movaps xmm4, xmm2
movss xmm3, dword [edi + 0xcc]
addss xmm4, xmm0
movss xmm1, dword [esp + 0xa4]
addss xmm2, dword [0x10145124]
movss xmm5, dword [esp + 0xf8]
addss xmm1, xmm3
movss dword [esp + 0x84], xmm0
xorps xmm0, xmm0
comiss xmm5, xmm0
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm3
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x7c], xmm1
jbe 0x1006afba
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x1550]
cmp byte [esp + 0x30], 0
addss xmm0, xmm4
movss dword [esp + 0xb0], xmm2
movss dword [esp + 0xb4], xmm3
movss dword [esp + 0xbc], xmm1
mov dword [esp + 0x50], edi
movss dword [esp + 0xb8], xmm0
je 0x1006b0e8
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x70]
push eax
mov edx, edi
lea ecx, [esp + 0xb4]
call fcn.10044e10
add esp, 4
test al, al
jne 0x1006b05d
movss xmm0, dword [esp + 0xb8]
lea ecx, [esp + 0x58]
subss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esi + 0x153c]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0xbc]
subss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x5c], xmm0
call fcn.10044ce0
call fcn.1004d8b0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x78]
lea edx, [esp + 0x58]
subss xmm0, dword [esp + 0x70]
push ecx
mov ecx, edi
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x80]
subss xmm0, dword [esp + 0x78]
movss dword [esp + 0x60], xmm0
call fcn.10047d70
add esp, 4
test al, al
jne 0x1006b0a9
call fcn.10047ba0
call fcn.1004d8b0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1017bfd8]
movss xmm0, dword [esp + 0xa0]
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x19e4]
mov dword [esp + 0x50], edi
subss xmm0, dword [edi + 0x70]
mov eax, dword [edi + 0x138]
or dword [edi + 0x140], eax
movss dword [esp + 0x84], xmm0
jmp 0x1006b12d
subss xmm1, xmm3
subss xmm0, xmm2
lea ecx, [esp + 0x58]
movss dword [esp + 0x5c], xmm1
movss xmm1, dword [esi + 0x153c]
movss dword [esp + 0x58], xmm0
call fcn.10044ce0
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0xb4]
call fcn.10044e10
add esp, 4
test al, al
je 0x1006b055
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x70]
call fcn.100450b0
mov byte [esp + 0x13], al
test al, al
je 0x1006b14c
mov dword [esi + 0x1cbc], 1
cmp byte [esp + 0xc8], 0
je 0x1006b20d
mov esi, dword [esi + 0x18fc]
cmp dword [esi + 0x14], 0x2a
jg 0x1006b16b
mov edi, dword [esi + 0x2c]
jmp 0x1006b18a
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x1006b181
mov edi, dword [esi + 0x2c]
jmp 0x1006b18a
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
add edx, 0x2be8
cmp dword [edx + 0x20], 0
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18fc]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [esi + 0x18fc]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18fc]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18fc]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18fc]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov dword [edx + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
jne 0x1006e565
cmp dword [edx], 0
jne 0x1006e565
cmp dword [edx + 0x14], 0
jne 0x1006e565
mov ecx, edx
call fcn.1004d170
cmp dword [esp + 0x1c], 0
lea edi, [esi + 0x1d78]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
sete al
movzx eax, al
push eax
mov dword [esp + 0x84], edi
call fcn.10045190
add esp, 4
mov byte [esp + 0x3b], al
test al, al
je 0x1006b2c7
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + 0x328]
cmp ecx, dword [edx + 0x330]
jne 0x1006b2c7
mov byte [esp + 0x18], 1
mov byte [esp + 0x27], 0
cmp byte [esp + 0x13], 0
je 0x1006b273
cmp byte [esi + 0x3d0], 0
mov byte [esp + 0x12], 1
jne 0x1006b278
mov byte [esp + 0x12], 0
cmp byte [esp + 0x30], 0
je 0x1006b2dc
cmp dword [esi + 0x1a04], 0
jne 0x1006b2dc
mov eax, dword [esp + 0x34]
cmp dword [edi], eax
jne 0x1006b2dc
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x1c0]
test ecx, ecx
jle 0x1006e565
mov eax, dword [eax + 0x1c8]
xor edx, edx
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100421e0
add esp, 4
cmp dword [esi + 0x1a08], eax
jne 0x1006b2dc
mov cl, 1
jmp 0x1006b2de
mov byte [esp + 0x18], 0
test al, al
je 0x1006b259
mov byte [esp + 0x27], 1
mov byte [esp + 0x18], 0
jmp 0x1006b25e
xor cl, cl
mov eax, dword [esi + 0x1a04]
mov edx, dword [esp + 0x34]
cmp eax, edx
je 0x1006b312
cmp dword [esi + 0x1b08], edx
je 0x1006b305
cmp dword [esi + 0x1afc], edx
jne 0x1006b312
cmp dword [esi + 0x1b1c], 3
jne 0x1006b312
mov dl, 1
mov byte [esp + 0x26], 0
mov byte [esp + 0x10], dl
jmp 0x1006b323
xor dl, dl
mov byte [esp + 0x26], 0
mov byte [esp + 0x10], dl
cmp eax, dword [esp + 0x34]
je 0x1006b339
test byte [ebp + 0x10], 0x10
jne 0x1006b32d
test dl, dl
je 0x1006b339
cmp byte [esp + 0x30], 0
mov byte [esp + 0x28], 1
je 0x1006b33e
mov byte [esp + 0x28], 0
cmp byte [esp + 0x3b], 0
jne 0x1006b36a
cmp byte [esp + 0x12], 0
jne 0x1006b36a
test cl, cl
jne 0x1006b36a
test dl, dl
jne 0x1006b36a
cmp byte [esi + 0x3d0], dl
je 0x1006b598
mov byte [esp + 0x26], 1
jmp 0x1006b598
cmp eax, dword [esp + 0x34]
je 0x1006b55c
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0xcc], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1006b385
mov edx, dword [ebp + 8]
sub esi, ecx
mov eax, dword [edi + 8]
inc edx
mov dword [esp + 0x1c], edx
cmp edx, eax
jle 0x1006b3ca
test eax, eax
je 0x1006b3b1
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 8]
jmp 0x1006b3b6
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 4]
push eax
call fcn.10028080
mov edx, dword [esp + 0x1c]
mov dword [edi + 4], edx
inc esi
mov eax, dword [edi + 0x14]
cmp esi, eax
jle 0x1006b3ff
test eax, eax
je 0x1006b3e8
cdq
sub eax, edx
lea edx, [edi + 0x10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1006b3f0
mov ecx, 8
lea edx, [edi + 0x10]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10053b60
mov dword [edi + 0x10], esi
push esi
mov esi, dword [esp + 0x30]
push esi
push dword [edi + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [edi + 0xc]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov eax, esi
dec ecx
mov dword [esp + 0x1c], edx
mov esi, edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1006b480
mov edi, eax
nop dword [eax + eax]
cmp byte [edi], 0
je 0x1006b471
push 0
mov edx, edi
lea ecx, [esp + 0x58]
call fcn.10042560
add edi, eax
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1006b46d
cmp eax, 0x10000
jae 0x1006b45c
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x1006b430
jmp 0x1006b471
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x2c]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x2c], esi
mov dword [edi + 0xe5c], 0xbe99999a
cmp dword [edi], eax
jne 0x1006b4d6
cmp dword [esp + 0xcc], esi
jne 0x1006b4d6
cmp dword [edi + 0x38], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [esp + 0x30]
mov dword [edi + 0x40], esi
jmp 0x1006b52e
mov dword [edi], eax
mov dword [edi + 0x34], ecx
mov dword [edi + 0xe54], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x38], ecx
mov dword [edi + 0x4c], ecx
mov ecx, dword [esp + 0x30]
mov al, cl
xor al, 1
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x44], 0x10000
mov byte [edi + 0x48], al
test cl, cl
jne 0x1006b52e
mov eax, dword [esp + 0x28]
mov edx, 1
cmp byte [esp + 0x18], cl
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x28], eax
test dword [ebp + 0x10], 0x2000
je 0x1006b53b
mov byte [edi + 0x44], 1
mov esi, dword [esp + 0x14]
test cl, cl
jne 0x1006b55c
cmp byte [esp + 0x27], cl
jne 0x1006b557
cmp byte [esp + 0x12], cl
je 0x1006b55c
cmp byte [esi + 0xf8], cl
je 0x1006b55c
mov byte [esp + 0x28], 1
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
call fcn.10044b00
call fcn.10044bb0
mov ecx, dword [esp + 0x4c]
call fcn.1004ced0
cmp byte [esp + 0x30], 0
mov dword [esi + 0x1a20], 2
jne 0x1006b598
test byte [ebp + 0x10], 0x80
jne 0x1006b598
mov dword [esi + 0x1a1c], 0xc
mov eax, dword [esp + 0x34]
mov byte [esp + 0x3b], 0
mov byte [esp + 0x27], 0
mov dword [esp + 0x54], 0
cmp dword [esi + 0x1a04], eax
jne 0x1006b9e0
cmp byte [esp + 0x44], 0
jne 0x1006b6ad
cmp byte [esi + 0x1a14], 0
jne 0x1006b6ad
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 8]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1006b60c
test eax, eax
je 0x1006b5f2
cdq
sub eax, edx
lea edx, [edi + 4]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1006b5fa
mov ecx, 8
lea edx, [edi + 4]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10028080
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], esi
mov edx, dword [edi + 0xc]
mov esi, edx
mov dword [esp + 0x1c], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1006b674
mov edi, eax
cmp byte [edi], 0
je 0x1006b665
push 0
mov edx, edi
lea ecx, [esp + 0x58]
call fcn.10042560
add edi, eax
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1006b661
cmp eax, 0x10000
jae 0x1006b651
mov word [esi], ax
add esi, 2
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x1006b625
jmp 0x1006b665
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x2c]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x38], esi
mov ecx, esi
mov dword [edi + 0x2c], esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x28], eax
cmovl esi, dword [edi + 0x40]
mov dword [edi + 0x40], esi
mov esi, dword [esp + 0x14]
mov dword [edi + 0x3c], ecx
mov eax, dword [edi + 0x28]
mov edx, dword [ebp + 0x10]
mov dword [edi + 0xe64], edx
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x30], eax
cmp byte [esi + 0xe8], 0
mov dword [esi + 0x2ec8], 1
sete al
cmp byte [esp + 0x30], 0
mov byte [esi + 0x1a15], al
movss xmm6, dword [esi + 0xe0]
subss xmm6, dword [esp + 0x70]
subss xmm6, dword [esi + 0x1538]
addss xmm6, dword [edi + 0x34]
je 0x1006b731
mov eax, dword [esp + 0x50]
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [esi + 0x153c]
jmp 0x1006b741
movss xmm2, dword [esi + 0x1900]
mulss xmm2, dword [0x10144fec]
cmp byte [esp + 0x28], 0
mov al, byte [esi + 0xad]
mov byte [esp + 0x12], al
jne 0x1006b8cb
mov cl, byte [esp + 0x13]
test cl, cl
je 0x1006b76e
test al, al
jne 0x1006b7db
cmp byte [esi + 0x3d5], al
jne 0x1006b8cb
cmp byte [esi + 0x3d0], 0
je 0x1006b836
cmp byte [edi + 0xe61], 0
jne 0x1006b836
test cl, cl
je 0x1006b8ea
cmp byte [edi + 0x48], 0
je 0x1006b7b2
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100692f0
movss xmm2, dword [esp + 0xe0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.10069630
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x1006b8e6
cmp byte [esi + 0x3d5], 0
je 0x1006b76e
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.10069a50
mov esi, dword [esp + 0x18]
add esp, 4
mov edx, dword [ebp + 0x10]
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x1006b8e6
cmp byte [esi + 0xe8], 0
je 0x1006b8ea
cmp byte [edi + 0xe61], 0
jne 0x1006b8f3
movss xmm0, dword [esi + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1006b875
movss xmm0, dword [esi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1006b8ea
cmp byte [edi + 0x48], 0
je 0x1006b897
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100692f0
movss xmm2, dword [esp + 0xe0]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1006b8a5
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.10069630
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x1006b8e6
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe61], 1
mov al, byte [esp + 0x12]
cmp byte [edi + 0xe61], 0
je 0x1006b903
cmp byte [esi + 0xe8], 0
jne 0x1006b903
mov byte [edi + 0xe61], 0
cmp dword [esi + 0x14f0], 0
jle 0x1006b9dc
cmp byte [esi + 0xf8], 0
je 0x1006b926
cmp byte [esi + 0xfa], 0
je 0x1006b9a8
test al, al
je 0x1006b933
cmp byte [esi + 0xfb], 0
jne 0x1006b9a8
cmp byte [esp + 0x44], 0
je 0x1006b9a8
cmp byte [esp + 0x10], 0
jne 0x1006b9a8
mov eax, dword [esp + 0x14]
xor esi, esi
cmp esi, dword [eax + 0x14f0]
jge 0x1006e565
mov eax, dword [eax + 0x14f8]
lea ecx, [esp + 0x1c]
sub esp, 8
movzx eax, word [eax + esi*2]
mov dword [esp + 0x24], eax
call fcn.1006abe0
add esp, 8
test al, al
je 0x1006b996
push dword [esp + 0x1c]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov eax, dword [esp + 0x14]
inc esi
mov edx, dword [ebp + 0x10]
cmp esi, dword [eax + 0x14f0]
jl 0x1006b953
mov esi, eax
mov ecx, dword [esi + 0x14f4]
test ecx, ecx
jns 0x1006b9ce
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x14f0]
call fcn.10028080
mov dword [esi + 0x14f0], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
movss xmm5, dword [0x10145040]
mov byte [esp + 0x10], 0
cmp dword [esi + 0x1a04], eax
jne 0x1006c65a
cmp byte [esi + 0x1a14], 0
jne 0x1006c65a
cmp byte [esp + 0x26], 0
jne 0x1006c65a
mov cl, byte [esi + 0xf9]
xor eax, eax
test cl, cl
mov edx, 0x20000
cmovne eax, edx
mov dl, byte [esi + 0xad]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x43], dl
test dl, dl
je 0x1006ba56
cmp byte [esi + 0xfb], 0
je 0x1006ba4e
cmp byte [esi + 0xf8], 0
jne 0x1006ba4e
mov eax, 1
jmp 0x1006ba50
xor eax, eax
test eax, eax
je 0x1006ba7a
jmp 0x1006ba68
cmp byte [esi + 0xf8], 0
je 0x1006ba7a
cmp byte [esi + 0xfb], 0
jne 0x1006ba7a
cmp byte [esi + 0xfa], 0
jne 0x1006ba7a
mov byte [esp + 0x12], 1
test cl, cl
je 0x1006ba7f
mov byte [esp + 0x12], 0
test dl, dl
je 0x1006baaf
cmp byte [esi + 0xfb], 0
je 0x1006baaf
cmp byte [esi + 0xf9], 0
je 0x1006baaf
cmp byte [esi + 0xf8], 0
jne 0x1006baaf
cmp byte [esi + 0xfa], 0
jne 0x1006baaf
mov dh, 1
mov byte [esp + 0xf], dh
jmp 0x1006bab9
xor dh, dh
mov byte [esp + 0xf], dh
test dl, dl
je 0x1006bb0a
cmp byte [esi + 0xfb], 0
mov ah, byte [esi + 0xfa]
mov byte [esp + 0xd], ah
je 0x1006bb16
cmp byte [esi + 0xf8], 0
jne 0x1006bb16
test ah, ah
jne 0x1006bb16
mov cl, byte [esi + 0xf8]
mov ch, 1
mov byte [esp + 0xe], ch
xor dl, dl
cmp byte [esi + 0xf9], dl
je 0x1006bb66
test cl, cl
jne 0x1006bb66
cmp byte [esi + 0xfa], cl
jne 0x1006bb66
cmp byte [esi + 0xfb], cl
jne 0x1006bb66
mov byte [esp + 0x13], 1
jmp 0x1006bb6b
mov ah, byte [esi + 0xf8]
xor dh, dh
mov byte [esp + 0xf], dh
mov cl, byte [esi + 0xf8]
xor ch, ch
mov byte [esp + 0xd], ah
mov al, ah
mov byte [esp + 0xe], ch
test cl, cl
je 0x1006bae5
mov byte [esp + 0xd], ah
mov byte [esp + 0xe], ch
cmp byte [esi + 0xf9], ch
jne 0x1006bae5
mov byte [esp + 0xd], ah
mov byte [esp + 0xe], ch
cmp byte [esi + 0xfa], ch
jne 0x1006bae5
mov byte [esp + 0xd], ah
mov byte [esp + 0xe], ch
cmp byte [esi + 0xfb], ch
jne 0x1006bae5
mov dl, 1
mov byte [esp + 0xd], ah
mov byte [esp + 0xe], ch
mov byte [esp + 0x13], 0
cmp byte [esp + 0x12], 0
mov cl, ch
mov esi, dword [0x1017bfd8]
mov ch, ah
mov byte [esp + 0x1a], cl
mov byte [esp + 0x11], ch
mov byte [esp + 0x18], dl
je 0x1006bc9f
mov eax, dword [esi + 0x7c]
test eax, eax
js 0x1006bc9a
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
xorps xmm4, xmm4
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006bbbe
mov al, 1
jmp 0x1006bc3e
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006bc3c
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov dl, byte [esp + 0x18]
mov byte [esp + 0xf], dh
mov byte [esp + 0xe], cl
mov byte [esp + 0xd], ch
jae 0x1006bc33
movaps xmm1, xmm5
mov byte [esp + 0xf], dh
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
mov byte [esp + 0xd], cl
test eax, eax
mov cl, byte [esp + 0x1a]
mov byte [esp + 0xe], cl
setg al
jmp 0x1006bc3e
xor eax, eax
test eax, eax
setg al
jmp 0x1006bc3e
xor al, al
test al, al
jne 0x1006bd28
mov ah, byte [esp + 0xd]
cmp byte [esp + 0x13], 0
mov ch, ah
mov cl, byte [esp + 0xe]
mov dh, byte [esp + 0xf]
mov byte [esp + 0x1a], cl
mov byte [esp + 0x11], ch
mov byte [esp + 0x18], dl
je 0x1006bd4f
mov eax, dword [esi + 0x5c]
test eax, eax
js 0x1006bd4f
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006bca4
mov al, 1
jmp 0x1006bd24
xorps xmm4, xmm4
jmp 0x1006bc46
xorps xmm4, xmm4
jmp 0x1006bc4a
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006bd22
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov dl, byte [esp + 0x18]
mov byte [esp + 0xf], dh
mov byte [esp + 0xe], cl
mov byte [esp + 0xd], ch
jae 0x1006bd19
movaps xmm1, xmm5
mov byte [esp + 0xf], dh
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
mov byte [esp + 0xd], cl
test eax, eax
mov cl, byte [esp + 0x1a]
mov byte [esp + 0xe], cl
setg al
jmp 0x1006bd24
xor eax, eax
test eax, eax
setg al
jmp 0x1006bd24
xor al, al
test al, al
je 0x1006bd4f
cmp byte [esp + 0x44], 0
je 0x1006bd4f
cmp byte [esp + 0xc8], 0
jne 0x1006bd4f
cmp byte [esp + 0x30], 0
je 0x1006bd48
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1006bd4f
mov byte [esp + 0x18], 1
jmp 0x1006bd54
mov byte [esp + 0x18], 0
cmp byte [esp + 0x12], 0
mov cl, byte [esp + 0xe]
mov ch, byte [esp + 0xd]
mov dh, byte [esp + 0xf]
mov byte [esp + 0x1a], cl
mov byte [esp + 0x11], ch
mov byte [esp + 0x1b], dl
je 0x1006be2e
mov eax, dword [esi + 0x74]
test eax, eax
js 0x1006be2e
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006bda6
mov al, 1
jmp 0x1006be26
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006be24
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov dl, byte [esp + 0x1b]
mov byte [esp + 0xf], dh
mov byte [esp + 0xe], cl
mov byte [esp + 0xd], ch
jae 0x1006be1b
movaps xmm1, xmm5
mov byte [esp + 0xf], dh
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
mov byte [esp + 0xd], cl
test eax, eax
mov cl, byte [esp + 0x1a]
mov byte [esp + 0xe], cl
setg al
jmp 0x1006be26
xor eax, eax
test eax, eax
setg al
jmp 0x1006be26
xor al, al
test al, al
jne 0x1006bef6
mov cl, byte [esp + 0xe]
mov ch, byte [esp + 0xd]
mov dh, byte [esp + 0xf]
mov byte [esp + 0x1a], cl
mov byte [esp + 0x11], ch
test dl, dl
je 0x1006bf16
mov eax, dword [esi + 0x58]
test eax, eax
js 0x1006bf16
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006be76
mov al, 1
jmp 0x1006bef2
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006bef0
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov byte [esp + 0xf], dh
mov byte [esp + 0xe], cl
mov byte [esp + 0xd], ch
jae 0x1006bee7
movaps xmm1, xmm5
mov byte [esp + 0xf], dh
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
mov byte [esp + 0xd], cl
test eax, eax
mov cl, byte [esp + 0x1a]
mov byte [esp + 0xe], cl
setg al
jmp 0x1006bef2
xor eax, eax
test eax, eax
setg al
jmp 0x1006bef2
xor al, al
test al, al
je 0x1006bf16
cmp byte [esp + 0xc8], 0
jne 0x1006bf16
cmp byte [esp + 0x30], 0
je 0x1006bf0f
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1006bf16
mov byte [esp + 0x1a], 1
jmp 0x1006bf1b
mov byte [esp + 0x1a], 0
cmp byte [esp + 0x12], 0
mov ch, byte [esp + 0xe]
mov cl, byte [esp + 0xd]
mov dh, ch
mov dl, byte [esp + 0xf]
mov byte [esp + 0x11], cl
je 0x1006bfe8
mov eax, dword [esi + 0x78]
test eax, eax
js 0x1006bfe8
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006bf64
mov al, 1
jmp 0x1006bfe0
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006bfde
movss xmm0, dword [esi + 0x8c]
mov ch, dh
comiss xmm4, xmm0
mov byte [esp + 0xf], dl
mov byte [esp + 0xe], ch
mov byte [esp + 0xd], cl
jae 0x1006bfd5
movaps xmm1, xmm5
mov byte [esp + 0xf], dl
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
test eax, eax
mov byte [esp + 0xd], cl
mov ch, dh
mov byte [esp + 0xe], ch
setg al
jmp 0x1006bfe0
xor eax, eax
test eax, eax
setg al
jmp 0x1006bfe0
xor al, al
test al, al
jne 0x1006c0ad
cmp byte [esp + 0x13], 0
mov dh, ch
mov cl, byte [esp + 0xd]
mov dl, byte [esp + 0xf]
mov byte [esp + 0x11], cl
je 0x1006c0b9
mov eax, dword [esi + 0x58]
test eax, eax
js 0x1006c0b9
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c02d
mov al, 1
jmp 0x1006c0a9
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c0a7
movss xmm0, dword [esi + 0x8c]
mov ch, dh
comiss xmm4, xmm0
mov byte [esp + 0xf], dl
mov byte [esp + 0xe], ch
mov byte [esp + 0xd], cl
jae 0x1006c09e
movaps xmm1, xmm5
mov byte [esp + 0xf], dl
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x11]
test eax, eax
mov byte [esp + 0xd], cl
mov ch, dh
mov byte [esp + 0xe], ch
setg al
jmp 0x1006c0a9
xor eax, eax
test eax, eax
setg al
jmp 0x1006c0a9
xor al, al
test al, al
je 0x1006c0b9
cmp byte [esp + 0x44], 0
mov byte [esp + 0x11], 1
jne 0x1006c0be
mov byte [esp + 0x11], 0
cmp byte [esp + 0x12], 0
mov dh, ch
mov cl, byte [esp + 0xd]
mov dl, byte [esp + 0xf]
mov byte [esp + 0x1b], cl
je 0x1006c19c
mov eax, dword [esi + 0x84]
test eax, eax
js 0x1006c19c
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c106
mov al, 1
jmp 0x1006c182
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c180
movss xmm0, dword [esi + 0x8c]
mov ch, dh
comiss xmm4, xmm0
mov byte [esp + 0xf], dl
mov byte [esp + 0xe], ch
mov byte [esp + 0xd], cl
jae 0x1006c177
movaps xmm1, xmm5
mov byte [esp + 0xf], dl
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x1b]
test eax, eax
mov byte [esp + 0xd], cl
mov ch, dh
mov byte [esp + 0xe], ch
setg al
jmp 0x1006c182
xor eax, eax
test eax, eax
setg al
jmp 0x1006c182
xor al, al
test al, al
je 0x1006c19c
cmp byte [esp + 0x44], 0
je 0x1006c19c
cmp byte [esp + 0x64], 0
je 0x1006c19c
mov al, 1
mov byte [esp + 0x13], al
jmp 0x1006c1ac
xor al, al
mov byte [esp + 0x13], al
cmp byte [esp + 0x12], al
je 0x1006c282
mov cl, byte [esp + 0xd]
mov dh, ch
mov dl, byte [esp + 0xf]
mov ch, al
mov eax, dword [esi + 0x80]
mov byte [esp + 0x19], cl
mov byte [esp + 0x1b], ch
test eax, eax
js 0x1006c27e
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c1f2
mov al, 1
jmp 0x1006c276
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c274
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov byte [esp + 0xf], dl
mov byte [esp + 0xe], dh
mov byte [esp + 0xd], cl
mov byte [esp + 0x13], ch
jae 0x1006c26b
movaps xmm1, xmm5
mov byte [esp + 0xe], dh
divss xmm1, xmm0
mov byte [esp + 0xf], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x1b]
mov byte [esp + 0x13], cl
test eax, eax
mov cl, byte [esp + 0x19]
mov byte [esp + 0xd], cl
setg al
jmp 0x1006c276
xor eax, eax
test eax, eax
setg al
jmp 0x1006c276
xor al, al
test al, al
jne 0x1006c346
mov al, byte [esp + 0x13]
cmp byte [esp + 0xf], 0
mov cl, al
mov dl, byte [esp + 0xe]
mov dh, byte [esp + 0xd]
mov byte [esp + 0x19], cl
je 0x1006c359
mov eax, dword [esi + 0x84]
test eax, eax
js 0x1006c359
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c2ca
mov al, 1
jmp 0x1006c342
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c340
movss xmm0, dword [esi + 0x8c]
comiss xmm4, xmm0
mov byte [esp + 0xe], dl
mov byte [esp + 0xd], dh
mov byte [esp + 0x13], cl
jae 0x1006c337
movaps xmm1, xmm5
mov byte [esp + 0xd], dh
divss xmm1, xmm0
mov byte [esp + 0xe], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [esp + 0x19]
test eax, eax
mov byte [esp + 0x13], cl
setg al
jmp 0x1006c342
xor eax, eax
test eax, eax
setg al
jmp 0x1006c342
xor al, al
test al, al
je 0x1006c359
cmp byte [esp + 0x44], 0
je 0x1006c359
cmp byte [esp + 0x64], 0
mov byte [esp + 0x1b], 1
jne 0x1006c35e
mov byte [esp + 0x1b], 0
mov ch, byte [esp + 0x13]
mov eax, dword [esi + 0x38]
mov cl, ch
mov dl, byte [esp + 0xe]
mov dh, byte [esp + 0xd]
mov byte [esp + 0x19], cl
test eax, eax
js 0x1006c45e
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c39c
mov al, 1
jmp 0x1006c40e
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c40c
movss xmm0, dword [esi + 0x8c]
mov ch, cl
comiss xmm4, xmm0
mov byte [esp + 0xe], dl
mov byte [esp + 0xd], dh
jae 0x1006c403
movaps xmm1, xmm5
mov byte [esp + 0xd], dh
divss xmm1, xmm0
mov byte [esp + 0xe], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, byte [esp + 0x19]
test eax, eax
setg al
jmp 0x1006c40e
xor eax, eax
test eax, eax
setg al
jmp 0x1006c40e
xor al, al
test al, al
je 0x1006c45e
cmp byte [esp + 0xe], 0
je 0x1006c420
mov eax, 0x10004
jmp 0x1006c432
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [esp + 0xd], 0
cmovne eax, ecx
or eax, dword [esp + 0x3c]
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
mov esi, dword [esp + 0x14]
jmp 0x1006c65a
mov eax, dword [esi + 0x3c]
mov cl, ch
mov dl, byte [esp + 0xe]
mov dh, byte [esp + 0xd]
mov byte [esp + 0x19], cl
test eax, eax
js 0x1006c52c
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c498
mov al, 1
jmp 0x1006c50a
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c508
movss xmm0, dword [esi + 0x8c]
mov ch, cl
comiss xmm4, xmm0
mov byte [esp + 0xe], dl
mov byte [esp + 0xd], dh
jae 0x1006c4ff
movaps xmm1, xmm5
mov byte [esp + 0xd], dh
divss xmm1, xmm0
mov byte [esp + 0xe], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, byte [esp + 0x19]
test eax, eax
setg al
jmp 0x1006c50a
xor eax, eax
test eax, eax
setg al
jmp 0x1006c50a
xor al, al
test al, al
je 0x1006c52c
cmp byte [esp + 0xe], 0
je 0x1006c51f
mov eax, 0x10005
jmp 0x1006c432
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x1006c42a
mov eax, dword [esi + 0x40]
mov cl, ch
mov dl, byte [esp + 0xe]
mov dh, byte [esp + 0xd]
mov byte [esp + 0x19], cl
test eax, eax
js 0x1006c6cb
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c566
mov al, 1
jmp 0x1006c5d8
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c5d6
movss xmm0, dword [esi + 0x8c]
mov ch, cl
comiss xmm4, xmm0
mov byte [esp + 0xe], dl
mov byte [esp + 0xd], dh
jae 0x1006c5cd
movaps xmm1, xmm5
mov byte [esp + 0xd], dh
divss xmm1, xmm0
mov byte [esp + 0xe], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, byte [esp + 0x19]
test eax, eax
setg al
jmp 0x1006c5d8
xor eax, eax
test eax, eax
setg al
jmp 0x1006c5d8
xor al, al
test al, al
je 0x1006c6cb
cmp byte [esp + 0x30], 0
je 0x1006c6cb
mov esi, dword [esp + 0x14]
cmp byte [esi + 0xf8], 0
je 0x1006c62b
mov edx, dword [esp + 0x50]
movss xmm1, dword [edx + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [esi + 0x1900]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x5c], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x1006c65a
movzx eax, byte [esp + 0xe]
lea eax, [eax*4 + 0x10002]
or eax, dword [esp + 0x3c]
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov edx, dword [ebp + 0x10]
mov cl, byte [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp dword [esi + 0x1a04], eax
jne 0x1006d2a7
xor eax, eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
test cl, cl
je 0x1006d184
cmp byte [esp + 0x44], al
je 0x1006d16d
mov esi, dword [edi + 0x18]
mov ecx, esi
mov eax, dword [esp + 0x2c]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006d158
test dl, dl
je 0x1006c6c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006d158
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006c6a0
xor eax, eax
jmp 0x1006d15d
mov eax, dword [esi + 0x44]
mov cl, ch
mov dl, byte [esp + 0xe]
mov dh, byte [esp + 0xd]
mov byte [esp + 0x19], cl
test eax, eax
js 0x1006c7f7
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c705
mov al, 1
jmp 0x1006c777
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c775
movss xmm0, dword [esi + 0x8c]
mov ch, cl
comiss xmm4, xmm0
mov byte [esp + 0xe], dl
mov byte [esp + 0xd], dh
jae 0x1006c76c
movaps xmm1, xmm5
mov byte [esp + 0xd], dh
divss xmm1, xmm0
mov byte [esp + 0xe], dl
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, byte [esp + 0x19]
test eax, eax
setg al
jmp 0x1006c777
xor eax, eax
test eax, eax
setg al
jmp 0x1006c777
xor al, al
test al, al
je 0x1006c7f7
cmp byte [esp + 0x30], 0
je 0x1006c7f7
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xf8], 0
je 0x1006c7e6
mov eax, dword [esi + 0x19e4]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
movss xmm2, dword [ecx + 0x5c]
subss xmm1, xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x1900]
addss xmm2, dword [ecx + 0xe4]
maxss xmm1, xmm4
minss xmm1, xmm0
subss xmm2, xmm1
movss dword [ecx + 0x5c], xmm1
movss dword [ecx + 0xe4], xmm2
jmp 0x1006c65a
movzx eax, byte [esp + 0xe]
lea eax, [eax*4 + 0x10003]
jmp 0x1006c432
mov cl, byte [esp + 0xd]
mov dh, ch
mov eax, dword [esi + 0x50]
mov dl, cl
test eax, eax
js 0x1006c8b8
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c82b
mov al, 1
jmp 0x1006c88f
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c88d
movss xmm0, dword [esi + 0x8c]
mov cl, dl
comiss xmm4, xmm0
mov ch, dh
jae 0x1006c884
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dh
test eax, eax
mov cl, dl
setg al
jmp 0x1006c88f
xor eax, eax
test eax, eax
setg al
jmp 0x1006c88f
xor al, al
test al, al
je 0x1006c8b8
mov ecx, dword [esp + 0x3c]
mov eax, ecx
mov esi, dword [esp + 0x14]
or eax, 0x10006
or ecx, 0x10004
cmp byte [esi + 0xf8], 0
cmovne ecx, eax
push ecx
jmp 0x1006c63c
mov eax, dword [esi + 0x54]
mov dl, cl
mov dh, ch
test eax, eax
js 0x1006c975
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c8e8
mov al, 1
jmp 0x1006c94c
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006c94a
movss xmm0, dword [esi + 0x8c]
mov cl, dl
comiss xmm4, xmm0
mov ch, dh
jae 0x1006c941
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dh
test eax, eax
mov cl, dl
setg al
jmp 0x1006c94c
xor eax, eax
test eax, eax
setg al
jmp 0x1006c94c
xor al, al
test al, al
je 0x1006c975
mov ecx, dword [esp + 0x3c]
mov eax, ecx
mov esi, dword [esp + 0x14]
or eax, 0x10007
or ecx, 0x10005
cmp byte [esi + 0xf8], 0
cmovne ecx, eax
push ecx
jmp 0x1006c63c
mov eax, dword [esi + 0x5c]
mov dl, cl
mov dh, ch
test eax, eax
js 0x1006ca24
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006c9a5
mov al, 1
jmp 0x1006ca09
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006ca07
movss xmm0, dword [esi + 0x8c]
mov cl, dl
comiss xmm4, xmm0
mov ch, dh
jae 0x1006c9fe
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dh
test eax, eax
mov cl, dl
setg al
jmp 0x1006ca09
xor eax, eax
test eax, eax
setg al
jmp 0x1006ca09
xor al, al
test al, al
je 0x1006ca24
cmp byte [esp + 0x44], 0
je 0x1006ca24
mov ecx, dword [esp + 0x3c]
or ecx, 0x10008
push ecx
jmp 0x1006c437
mov eax, dword [esi + 0x60]
mov dl, cl
mov dh, ch
test eax, eax
js 0x1006cb67
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006ca54
mov al, 1
jmp 0x1006cab8
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006cab6
movss xmm0, dword [esi + 0x8c]
mov cl, dl
comiss xmm4, xmm0
mov ch, dh
jae 0x1006caad
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dh
test eax, eax
mov cl, dl
setg al
jmp 0x1006cab8
xor eax, eax
test eax, eax
setg al
jmp 0x1006cab8
xor al, al
test al, al
je 0x1006cb67
cmp byte [esp + 0x44], 0
je 0x1006cb67
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1006cafa
test cl, cl
je 0x1006cb0e
push 0x3000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
or ecx, 0x10009
push ecx
jmp 0x1006c63c
cmp byte [esp + 0x43], 0
je 0x1006cafa
mov esi, dword [esp + 0x14]
cmp byte [esi + 0xfb], 0
je 0x1006cafe
cmp byte [esi + 0xfa], 0
jne 0x1006cafe
cmp byte [esi + 0xf8], 0
jne 0x1006cafe
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10069a50
mov ecx, dword [esp + 0x40]
add esp, 4
or ecx, 0x10009
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
push ecx
jmp 0x1006c63c
mov eax, dword [esi + 0x68]
mov dl, ch
test eax, eax
js 0x1006cc62
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006cb95
mov al, 1
jmp 0x1006cbf5
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006cbf3
movss xmm0, dword [esi + 0x8c]
mov ch, dl
comiss xmm4, xmm0
jae 0x1006cbea
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dl
test eax, eax
setg al
jmp 0x1006cbf5
xor eax, eax
test eax, eax
setg al
jmp 0x1006cbf5
xor al, al
test al, al
je 0x1006cc62
mov edx, dword [ebp + 0x10]
mov eax, edx
mov esi, dword [esp + 0x14]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x30], 0
je 0x1006cc1c
mov cl, byte [esi + 0xf8]
test al, al
je 0x1006cc2b
test cl, cl
jne 0x1006cc2f
mov byte [esp + 0x26], 1
mov byte [esp + 0x27], 1
jmp 0x1006c65d
test cl, cl
jne 0x1006cc1c
cmp byte [esp + 0x44], 0
je 0x1006c65d
sub esp, 8
mov dword [esp + 0x24], 0xa
lea ecx, [esp + 0x24]
call fcn.1006abe0
add esp, 8
test al, al
je 0x1006c65a
push dword [esp + 0x1c]
jmp 0x1006c63c
test dword [ebp + 0x10], 0x400
mov dl, ch
je 0x1006cd52
mov eax, dword [esi + 0x34]
test eax, eax
js 0x1006cd52
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006cc9d
mov al, 1
jmp 0x1006ccfd
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006ccfb
movss xmm0, dword [esi + 0x8c]
mov ch, dl
comiss xmm4, xmm0
jae 0x1006ccf2
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dl
test eax, eax
setg al
jmp 0x1006ccfd
xor eax, eax
test eax, eax
setg al
jmp 0x1006ccfd
xor al, al
test al, al
je 0x1006cd52
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xf8], 0
jne 0x1006cd52
cmp byte [eax + 0xf9], 0
jne 0x1006cd52
cmp byte [eax + 0xfa], 0
jne 0x1006cd52
cmp byte [esp + 0x44], 0
je 0x1006cd52
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], 9
call fcn.1006abe0
add esp, 8
test al, al
je 0x1006c455
push dword [esp + 0x1c]
jmp 0x1006c437
mov eax, dword [esi + 0x6c]
mov dl, ch
test eax, eax
js 0x1006cdf6
cmp eax, 0x200
jge 0x1006e565
movss xmm2, dword [esi + eax*4 + 0x448]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006cd80
mov al, 1
jmp 0x1006cde0
movss xmm3, dword [esi + 0x88]
comiss xmm2, xmm3
jbe 0x1006cdde
movss xmm0, dword [esi + 0x8c]
mov ch, dl
comiss xmm4, xmm0
jae 0x1006cdd5
movaps xmm1, xmm5
divss xmm1, xmm0
movaps xmm0, xmm2
subss xmm2, xmm3
subss xmm0, dword [esi + 0x18]
mulss xmm2, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm2
mulss xmm0, xmm1
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ch, dl
test eax, eax
setg al
jmp 0x1006cde0
xor eax, eax
test eax, eax
setg al
jmp 0x1006cde0
xor al, al
test al, al
je 0x1006cdf6
mov esi, dword [esp + 0x14]
mov cl, 1
mov edx, dword [ebp + 0x10]
mov byte [esp + 0x26], cl
jmp 0x1006c661
test ch, ch
jne 0x1006d134
cmp byte [esp + 0x1b], ch
jne 0x1006d134
cmp byte [esp + 0x12], ch
je 0x1006ce89
mov eax, dword [esi + 0x70]
test eax, eax
js 0x1006ce89
cmp eax, 0x200
jge 0x1006e565
movss xmm0, dword [esi + eax*4 + 0x448]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1006ce36
mov al, 1
jmp 0x1006ce61
movss xmm2, dword [esi + 0x88]
comiss xmm0, xmm2
jbe 0x1006ce5f
movss xmm3, dword [esi + 0x8c]
movaps xmm1, xmm0
subss xmm1, dword [esi + 0x18]
call fcn.100477f0
test eax, eax
setg al
jmp 0x1006ce61
xor al, al
test al, al
je 0x1006ce89
mov eax, dword [edi + 0x2c]
mov esi, dword [esp + 0x14]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
jmp 0x1006c65a
mov al, byte [esp + 0x18]
test al, al
jne 0x1006d032
cmp byte [esp + 0x1a], al
jne 0x1006d032
cmp byte [esp + 0x11], al
je 0x1006c455
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x1006ceca
push dword [esi + 0xd0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1006c455
jmp 0x1006cecf
mov esi, 0x1013eb78
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006ced4
mov eax, dword [0x1017bfd8]
sub ecx, edx
test eax, eax
je 0x1006ceec
inc dword [eax + 0x36c]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x28], eax
cmp byte [esi], al
je 0x1006cf6d
xor edi, edi
nop
push 0
mov edx, esi
lea ecx, [esp + 0x24]
call fcn.10042560
add esi, eax
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1006cf5a
cmp eax, 0x10000
jae 0x1006cf55
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x20]
sub esp, 8
call fcn.1006abe0
add esp, 8
test al, al
je 0x1006cf55
mov ecx, dword [esp + 0x48]
mov ax, word [esp + 0x20]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1006cf10
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x1006d00c
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x2c]
cmp ecx, edx
je 0x1006cfa1
cmp ecx, eax
jle 0x1006cf91
mov dword [edi + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x1006cf9a
mov dword [edi + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x1006cfa1
mov dword [edi + 0x38], ecx
cmp dword [edi + 0x38], eax
jle 0x1006cfa9
mov dword [edi + 0x38], eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100699c0
push dword [esp + 0x28]
mov edx, dword [edi + 0x38]
mov ecx, edi
push dword [esp + 0x4c]
call fcn.100694e0
add esp, 8
test al, al
je 0x1006cfed
push dword [esp + 0x28]
mov edx, dword [edi + 0x38]
lea ecx, [edi + 0x50]
push 0
call fcn.1006a8b0
mov eax, dword [esp + 0x30]
add esp, 8
add dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
jmp 0x1006d001
movzx eax, word [edi + 0xe4e]
test ax, ax
je 0x1006d001
dec eax
mov word [edi + 0xe4e], ax
mov ecx, dword [esp + 0x48]
mov byte [edi + 0xe60], 1
test ecx, ecx
je 0x1006d01f
mov eax, dword [0x1017bfd8]
test eax, eax
je 0x1006d01f
dec dword [eax + 0x36c]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, dword [esp + 0x18]
add esp, 4
jmp 0x1006c65a
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xcc], 0
je 0x1006d0e6
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, esi
je 0x1006d057
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x1006d05c
mov esi, dword [edi + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [esp + 0x64], ecx
sub eax, ecx
lea edx, [eax*4 + 1]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x1c], edx
cmp edx, eax
jle 0x1006d0a3
test eax, eax
je 0x1006d08a
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x20]
jmp 0x1006d08f
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x1c]
push eax
call fcn.10053b60
mov edx, dword [esp + 0x1c]
mov dword [edi + 0x1c], edx
mov ecx, dword [edi + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [esp + 0x68]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.100426f0
mov esi, dword [0x1017bfd8]
add esp, 8
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x1006d0de
push dword [edi + 0x24]
push dword [esi + 0xd0]
call eax
add esp, 8
mov al, byte [esp + 0x18]
mov esi, dword [esp + 0x14]
test al, al
je 0x1006c65a
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1006d10a
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1006c455
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.100699c0
mov esi, dword [esp + 0x14]
mov byte [edi + 0x47], 0
jmp 0x1006c65a
movzx eax, ch
lea edx, [edi + 0x38]
xor eax, 1
mov ecx, edi
add eax, 0x1000a
push eax
call fcn.10069a50
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
jmp 0x1006c441
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d16d
mov eax, dword [edi + 0x10]
dec eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp byte [esp + 0x27], 0
je 0x1006d233
mov edx, dword [ebp + 0x10]
test dl, 0x20
je 0x1006d233
mov eax, dword [esp + 0x44]
test al, al
je 0x1006d1e8
mov eax, dword [edi + 4]
lea ecx, [edi + 0x1c]
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x1006d1cd
test eax, eax
je 0x1006d1b3
cdq
sub eax, edx
lea edx, [edi + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1006d1bb
mov ecx, 8
lea edx, [edi + 0x1c]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10053b60
lea ecx, [edi + 0x1c]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0xc]
call fcn.100426f0
mov edx, dword [ebp + 0x10]
add esp, 8
mov eax, dword [esp + 0x44]
test edx, 0x1c0
jne 0x1006e565
test al, al
je 0x1006d233
mov esi, dword [edi + 0x24]
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006d221
test dl, dl
je 0x1006d21d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006d221
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006d201
xor eax, eax
jmp 0x1006d226
sbb eax, eax
or eax, 1
test eax, eax
je 0x1006d233
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
jmp 0x1006d237
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1006d281
test eax, eax
js 0x1006e565
mov esi, dword [ebp + 8]
inc eax
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x1006d274
jbe 0x1006d269
lea eax, [esi - 1]
push eax
push ecx
push dword [esp + 0x34]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov byte [esi + eax - 1], 0
jmp 0x1006d278
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x3b], 1
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov dword [edi + 0xe64], 0
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
cmp byte [esp + 0x26], 0
je 0x1006d2bb
cmp dword [esi + 0x1a04], eax
jne 0x1006d2bb
call fcn.10044c80
mov eax, dword [esp + 0x34]
cmp dword [esi + 0x1a04], eax
jne 0x1006d2d5
cmp byte [esp + 0x44], 0
je 0x1006d2d5
mov eax, dword [edi + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x30]
movss xmm3, dword [0x10145264]
test dl, dl
jne 0x1006d66c
mov eax, dword [esp + 0x4c]
xorps xmm4, xmm4
movss xmm2, dword [0x10144fe8]
movss xmm7, dword [0x10145040]
movss xmm1, dword [0x10144fec]
mov esi, dword [eax + 0x274]
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + 0x1500]
comiss xmm4, xmm0
ja 0x1006d3f8
minss xmm0, xmm7
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x18
mov ecx, eax
or ecx, 0x10101
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x1006d3f8
movss xmm0, dword [esp + 0x78]
lea eax, [esp + 0x58]
subss xmm0, xmm2
xorps xmm3, xmm3
push 0xf
push eax
lea eax, [esp + 0x98]
mov ecx, esi
push eax
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x88]
subss xmm0, xmm2
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x7c]
addss xmm0, xmm1
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x80]
addss xmm0, xmm1
movss dword [esp + 0xa0], xmm0
call fcn.1005c5f0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push dword [esp + 0x24]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.1005b4f0
movss xmm2, dword [0x10144fe8]
xorps xmm4, xmm4
movss xmm3, dword [0x10145264]
movss xmm7, dword [0x10145040]
movss xmm1, dword [0x10144fec]
mov edx, dword [esp + 0x30]
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
movss xmm0, dword [esi + 0x1500]
comiss xmm4, xmm0
mov ecx, dword [eax + 0x274]
mov dword [esp + 0x1c], ecx
jbe 0x1006d539
movss xmm5, dword [esp + 0x70]
movss xmm4, dword [esp + 0x74]
movaps xmm1, xmm5
movss xmm6, dword [esp + 0x84]
movss xmm0, dword [esp + 0xa4]
addss xmm1, xmm6
addss xmm0, xmm4
movss dword [esp + 0xb0], xmm5
movss dword [esp + 0xb4], xmm4
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0x48], xmm0
movss dword [esp + 0xbc], xmm0
movss dword [esp + 0x54], xmm1
movss dword [esp + 0xcc], xmm0
movss xmm3, dword [0x10145264]
movaps xmm7, xmm5
addss xmm7, dword [esi + 0x1538]
mov eax, dword [esp + 0x50]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x153c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
xorps xmm1, xmm1
xorps xmm4, xmm4
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x5c], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x90], xmm7
movss dword [esp + 0x3c], xmm7
movss dword [esp + 0x58], xmm7
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x64], xmm1
cmp dword [edi], ecx
jne 0x1006d6fe
test dl, dl
je 0x1006d6fe
mov edx, dword [eax + 0x1c0]
test edx, edx
jle 0x1006e565
mov eax, dword [eax + 0x1c8]
mov ecx, str.SCROLLY
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100421e0
add esp, 4
cmp dword [esi + 0x1a04], eax
jne 0x1006d6fe
mov al, 1
jmp 0x1006d700
minss xmm0, xmm7
movss xmm5, dword [esp + 0x78]
movss xmm6, dword [esp + 0x7c]
subss xmm5, xmm7
subss xmm6, xmm7
mulss xmm0, xmm3
addss xmm0, xmm1
movss xmm1, dword [esp + 0x74]
addss xmm1, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x70]
shl eax, 0x18
addss xmm0, xmm7
mov esi, eax
or esi, 0x292929
test eax, eax
je 0x1006d668
addss xmm0, dword [0x10144fec]
addss xmm1, dword [0x10144fec]
push 0xf
subss xmm5, xmm2
xorps xmm3, xmm3
subss xmm6, xmm2
lea eax, [esp + 0x5c]
movss dword [esp + 0x94], xmm0
push eax
lea eax, [esp + 0x98]
movss dword [esp + 0x9c], xmm1
push eax
movss dword [esp + 0x64], xmm5
movss dword [esp + 0x68], xmm6
call fcn.1005c5f0
push ecx
mov dword [esp], 0x3f800000
push 1
push esi
mov esi, dword [esp + 0x28]
mov ecx, esi
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.1005b4f0
movss xmm5, dword [esp + 0x70]
movss xmm4, dword [esp + 0x74]
movaps xmm1, xmm5
movss xmm6, dword [esp + 0x84]
movss xmm0, dword [esp + 0xa4]
addss xmm1, xmm6
addss xmm0, xmm4
mov dword [esi + 0x54], 0
mov esi, dword [esp + 0x14]
movss dword [esp + 0xb0], xmm5
movss dword [esp + 0xb4], xmm4
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0x48], xmm0
movss dword [esp + 0xbc], xmm0
movss dword [esp + 0x54], xmm1
movss dword [esp + 0xcc], xmm0
jmp 0x1006d486
mov esi, dword [esp + 0x14]
movss xmm5, dword [esp + 0x70]
movss xmm6, dword [esp + 0x84]
movaps xmm2, xmm5
movss xmm4, dword [esp + 0x74]
addss xmm2, xmm6
movss xmm1, dword [esp + 0xa4]
movss dword [esp + 0xb0], xmm5
addss xmm1, xmm4
movss dword [esp + 0xb4], xmm4
movss dword [esp + 0x54], xmm2
movaps xmm0, xmm2
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xb8], xmm0
movaps xmm0, xmm1
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0x48], xmm0
movss dword [esp + 0xbc], xmm0
test dl, dl
je 0x1006d486
mov eax, dword [esp + 0x50]
movss xmm7, dword [eax + 0xc8]
movss xmm0, dword [eax + 0xcc]
jmp 0x1006d4ac
xor al, al
mov ecx, dword [esp + 0x34]
cmp dword [esi + 0x1a04], ecx
je 0x1006daf2
test al, al
jne 0x1006daf2
cmp byte [esp + 0x30], al
je 0x1006d775
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [esp + 0x11], al
test al, al
je 0x1006d748
nop
cmp byte [esp + 0x11], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [esp + 0x11], al
test al, al
jne 0x1006d730
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x1006d755
cmp al, 0xd
je 0x1006d755
inc ecx
movd xmm1, ecx
movaps xmm0, xmm6
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x1c], xmm0
mulss xmm1, dword [esi + 0x1900]
movss dword [esp + 0x64], xmm1
jmp 0x1006d798
mov edi, dword [esp + 0x2c]
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006d780
sub ecx, edx
lea edx, [edi + ecx]
cmp ecx, 0x200000
jge 0x1006da07
mov eax, dword [esp + 0x50]
movss xmm0, dword [esi + 0x1500]
comiss xmm4, xmm0
mov edi, dword [eax + 0x274]
jbe 0x1006d7b4
movaps xmm0, xmm4
jmp 0x1006d7bc
minss xmm0, dword [0x10145040]
movss xmm2, dword [esi + 0x1900]
mulss xmm0, xmm3
mov dword [esp + 0x6c], 0
addss xmm0, dword [0x10144fec]
cvttss2si eax, xmm0
shl eax, 0x18
mov ecx, eax
or ecx, 0xbebebe
cmp byte [esp + 0x30], 0
mov dword [esp + 0x54], ecx
mov ecx, dword [esi + 0x18fc]
lea esi, [esp + 0xb0]
cmovne esi, dword [esp + 0x6c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x6c], esi
test eax, eax
je 0x1006d942
test edx, edx
jne 0x1006d836
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006d820
mov eax, dword [esp + 0x2c]
sub ecx, edx
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x48]
jmp 0x1006d83a
mov eax, dword [esp + 0x2c]
cmp eax, edx
je 0x1006d942
test ecx, ecx
jne 0x1006d850
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jp 0x1006d861
mov eax, dword [edi + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [edi + 0x48]
test eax, eax
jle 0x1006e565
mov eax, dword [esp + 0x48]
mov esi, dword [edi + 0x48]
mov ecx, dword [edi + 0x50]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + esi*4 - 4]
mov esi, dword [esp + 0x6c]
jne 0x1006e565
mov ecx, dword [edi + 0x3c]
test ecx, ecx
jle 0x1006e565
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esp + 0xa0], xmm0
test esi, esi
je 0x1006d907
movss xmm0, dword [esp + 0xa0]
maxss xmm0, dword [esi]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esi + 4]
maxss xmm0, dword [esp + 0xa4]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esi + 8]
minss xmm0, dword [esp + 0xa8]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esi + 0xc]
minss xmm0, dword [esp + 0xac]
movss dword [esp + 0xac], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0xa8]
mov dword [esp], 0
push edx
push dword [esp + 0x38]
push eax
push dword [esp + 0x68]
push dword [esp + 0xac]
push dword [esp + 0xac]
push edi
call fcn.10060040
xorps xmm4, xmm4
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x30], 0
je 0x1006da03
mov ecx, dword [0x1017bfd8]
movss xmm2, dword [esp + 0x64]
addss xmm2, dword [esi + 0x1900]
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19e4]
cmp byte [eax + 0x7f], 0
jne 0x1006d9f9
movss xmm1, dword [eax + 0xc8]
lea ecx, [esp + 0xa0]
movss xmm0, dword [eax + 0xcc]
movss xmm3, dword [esp + 0x1c]
addss xmm2, xmm0
addss xmm3, xmm1
movss dword [esp + 0xd0], xmm1
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xdc], xmm2
subss xmm2, xmm0
movss dword [esp + 0xd8], xmm3
subss xmm3, xmm1
movaps xmm1, xmm4
movss dword [esp + 0xa4], xmm2
movss dword [esp + 0xa0], xmm3
call fcn.10044ce0
push 0
xor edx, edx
lea ecx, [esp + 0xd4]
call fcn.10044e10
add esp, 4
call fcn.10047ba0
call fcn.1004d8b0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc8]
test al, al
je 0x1006da1e
call fcn.1004d2b0
mov eax, dword [esp + 0xc8]
cmp byte [esi + 0x2cbc], 0
je 0x1006da3b
test al, al
jne 0x1006da3b
push 0
mov edx, edi
lea ecx, [esp + 0x5c]
call fcn.10052690
add esp, 4
movss xmm0, dword [esp + 0xf8]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x1006da9e
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x1006da50
sub edi, ecx
jne 0x1006da9e
movss xmm0, dword [esp + 0x70]
xor edx, edx
addss xmm0, dword [esi + 0x1550]
mov ecx, dword [esp + 0xfc]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, dword [esi + 0x153c]
movss dword [esp + 0x5c], xmm0
push dword [esp + 0x5c]
push dword [esp + 0x5c]
push 1
call fcn.10042c70
add esp, 0xc
mov dl, byte [esp + 0x3b]
test dl, dl
je 0x1006dadd
mov ecx, dword [0x1017bfd8]
mov eax, dword [ecx + 0x1a04]
cmp eax, dword [esp + 0x34]
je 0x1006dac9
test eax, eax
je 0x1006dac9
cmp byte [ecx + 0x1cc0], 0
je 0x1006e565
mov eax, dword [ecx + 0x19e4]
mov byte [ecx + 0x1a17], 1
or dword [eax + 0x110], 4
test byte [ebp + 0x10], 0x20
movzx ecx, byte [esp + 0x27]
movzx eax, dl
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
xorps xmm3, xmm3
movss xmm0, dword [esi + 0x18]
xorps xmm5, xmm5
mov eax, dword [edi + 0x38]
or esi, 0xffffffff
addss xmm0, dword [edi + 0xe5c]
mov edx, dword [edi + 0x3c]
mov dword [esp + 0x28], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x20], 0
mov dword [esp + 0x88], eax
mov ecx, 1
mov eax, dword [edi + 0x40]
movss dword [edi + 0xe5c], xmm0
mov dword [esp + 0x4c], 0xfffffc19
cmp edx, eax
je 0x1006db5a
mov ecx, dword [esp + 0x28]
cmovl eax, edx
mov dword [esp + 0x4c], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1006dbdd
mov esi, eax
or edi, 0xffffffff
nop dword [eax]
cmp si, 0xa
jne 0x1006dbba
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x60], eax
cmp edi, 0xffffffff
jne 0x1006dba4
cmp edx, dword [esp + 0x88]
jb 0x1006dba4
dec ecx
mov edi, eax
test ecx, ecx
jle 0x1006dbc8
cmp dword [esp + 0x4c], 0xffffffff
jne 0x1006dbba
cmp edx, dword [esp + 0x20]
jb 0x1006dbba
dec ecx
mov dword [esp + 0x4c], eax
test ecx, ecx
jle 0x1006dbc8
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x1006db80
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x88]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x60], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, edx
cmp edx, esi
jbe 0x1006dc22
cmp word [ecx - 2], 0xa
je 0x1006dc22
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1006dc14
mov eax, dword [0x1017bfd8]
movaps xmm6, xmm4
movss dword [esp + 0x9c], xmm6
movaps xmm1, xmm4
mov esi, dword [eax + 0x18fc]
movss xmm2, dword [eax + 0x1900]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x1006dcb4
mov edi, dword [esp + 0x88]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1006dc6d
maxss xmm1, xmm6
movaps xmm6, xmm1
movaps xmm1, xmm4
jmp 0x1006dc8f
cmp edx, 0xd
je 0x1006dc8f
mov edx, eax
cmp edx, dword [esi]
jge 0x1006dc82
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x1006dc87
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x1006dc54
comiss xmm1, xmm6
mov edi, dword [esp + 0x80]
movss dword [esp + 0x9c], xmm6
jbe 0x1006dcb4
movaps xmm6, xmm1
movss dword [esp + 0x9c], xmm1
cmp dword [esp + 0x4c], 0
movd xmm4, dword [esp + 0x8c]
mov ecx, dword [esp + 0x14]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x1900]
mulss xmm4, xmm0
movss dword [esp + 0x90], xmm4
jl 0x1006dd9a
mov edx, dword [esp + 0x20]
mov ecx, edx
mov esi, dword [esp + 0x28]
cmp edx, esi
jbe 0x1006dd00
cmp word [ecx - 2], 0xa
je 0x1006dd00
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1006dcf2
mov eax, dword [0x1017bfd8]
xorps xmm0, xmm0
xorps xmm5, xmm5
xorps xmm1, xmm1
mov esi, dword [eax + 0x18fc]
movss xmm2, dword [eax + 0x1900]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x1006dd81
mov edi, dword [esp + 0x20]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1006dd49
maxss xmm1, xmm5
movaps xmm5, xmm1
movaps xmm1, xmm0
jmp 0x1006dd6e
cmp edx, 0xd
je 0x1006dd6e
mov edx, eax
cmp edx, dword [esi]
jge 0x1006dd5e
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x1006dd63
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x1006dd30
comiss xmm1, xmm5
mov edi, dword [esp + 0x80]
jbe 0x1006dd81
movaps xmm5, xmm1
movd xmm3, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x1900]
mulss xmm3, xmm0
mov edx, dword [esp + 0x30]
test dl, dl
je 0x1006ddcb
mov eax, dword [esp + 0x60]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss dword [esp + 0x64], xmm1
movss xmm1, dword [esp + 0x84]
movaps xmm0, xmm1
movss dword [esp + 0x1c], xmm0
jmp 0x1006ddd4
movss xmm1, dword [esp + 0x84]
cmp byte [edi + 0xe60], 0
je 0x1006dea7
test dword [ebp + 0x10], 0x1000
jne 0x1006de43
movss xmm2, dword [edi + 0x34]
movaps xmm0, xmm6
comiss xmm2, xmm6
mulss xmm1, dword [0x10144fac]
jbe 0x1006de1c
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x1006de4d
subss xmm0, dword [esp + 0x84]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x1006de4d
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x1006de4d
mov dword [edi + 0x34], 0
xorps xmm2, xmm2
test dl, dl
je 0x1006dea7
mov eax, dword [esp + 0x50]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x1900]
movss xmm1, dword [eax + 0x5c]
comiss xmm1, xmm0
jbe 0x1006de70
maxss xmm0, xmm2
jmp 0x1006de80
movaps xmm0, xmm4
subss xmm0, dword [esp + 0xa4]
maxss xmm0, xmm1
subss xmm1, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm1, dword [eax + 0xcc]
movss dword [esp + 0x68], xmm1
movss dword [eax + 0xcc], xmm1
movss dword [esp + 0x5c], xmm1
jmp 0x1006dead
movss xmm1, dword [esp + 0x68]
movss xmm6, dword [edi + 0x34]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov byte [edi + 0xe60], 0
movss dword [esp + 0x60], xmm6
cmp edx, ecx
je 0x1006e137
mov esi, dword [esp + 0x28]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [esp + 0x30], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x88], ecx
je 0x1006deff
xorps xmm0, xmm0
xorps xmm7, xmm7
movss dword [esp + 0x6c], xmm0
jmp 0x1006df07
movss xmm7, dword [0x101450a4]
movss xmm4, dword [esp + 0x3c]
movss dword [esp + 0x28], xmm7
addss xmm4, xmm5
subss xmm4, xmm6
movaps xmm6, xmm1
addss xmm6, xmm3
movss dword [esp + 0x20], xmm6
cmp esi, ecx
jae 0x1006e12b
movss xmm2, dword [esp + 0x48]
mov edi, dword [0x1017bfd8]
mov eax, dword [esp + 0x14]
movaps xmm0, xmm2
addss xmm0, dword [eax + 0x1900]
comiss xmm6, xmm0
ja 0x1006e11e
movss xmm0, dword [esp + 0x74]
comiss xmm0, xmm6
jbe 0x1006df79
nop
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1006e0f2
cmp esi, ecx
jb 0x1006df60
jmp 0x1006e0f2
mov edx, dword [edi + 0x18fc]
xorps xmm5, xmm5
movss xmm1, dword [edi + 0x1900]
xorps xmm3, xmm3
xorps xmm2, xmm2
divss xmm1, dword [edx + 0x10]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1006dfcf
cmp ecx, 0xd
je 0x1006dfc2
cmp ecx, dword [edx]
jge 0x1006dfb5
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x1006dfba
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm1
addss xmm2, xmm0
mov ecx, dword [esp + 0x88]
cmp esi, ecx
jb 0x1006df95
jmp 0x1006dfe0
mov ecx, dword [esp + 0x88]
movaps xmm3, xmm2
maxss xmm3, xmm5
movaps xmm2, xmm5
maxss xmm2, xmm3
comiss xmm5, xmm2
jb 0x1006e01d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18fc]
cmp dword [eax], 0x20
jle 0x1006e005
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1006e00a
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10144fec]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov eax, dword [esp + 0x14]
addss xmm2, xmm4
movss xmm0, dword [esp + 0x6c]
movaps xmm1, xmm7
movss xmm5, dword [esp + 0x70]
addss xmm1, xmm6
movss xmm7, dword [esp + 0xf4]
maxss xmm5, xmm4
subss xmm0, dword [eax + 0x1900]
movss xmm3, dword [esp + 0x74]
movaps xmm4, xmm7
minss xmm4, xmm2
movss xmm2, dword [esp + 0x48]
movss dword [esp + 0xd0], xmm5
addss xmm0, xmm6
movss dword [esp + 0xd8], xmm4
maxss xmm3, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [esp + 0xd4], xmm3
comiss xmm0, dword [esp + 0x74]
movss dword [esp + 0xdc], xmm0
jbe 0x1006e0f6
comiss xmm2, xmm3
jbe 0x1006e0f6
comiss xmm4, dword [esp + 0x70]
jbe 0x1006e0f6
comiss xmm7, xmm5
jbe 0x1006e0f6
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xe0]
push 0xff4005b2
push eax
lea eax, [esp + 0xe0]
push eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x274]
call fcn.1005cad0
movss xmm6, dword [esp + 0x20]
movss xmm2, dword [esp + 0x48]
mov ecx, dword [esp + 0x88]
mov edi, dword [0x1017bfd8]
mov eax, dword [esp + 0x14]
movss xmm4, dword [esp + 0x3c]
movss xmm7, dword [esp + 0x28]
addss xmm6, dword [eax + 0x1900]
subss xmm4, dword [esp + 0x60]
movss dword [esp + 0x20], xmm6
cmp esi, ecx
jb 0x1006df40
movss xmm1, dword [esp + 0x68]
mov edi, dword [esp + 0x80]
movss xmm7, dword [esp + 0x3c]
movss xmm6, dword [esp + 0x60]
cmp byte [esp + 0x30], 0
mov ecx, dword [edi + 0x28]
jne 0x1006e14d
cmp ecx, 0x200000
jge 0x1006e31a
mov edi, dword [esp + 0x14]
xorps xmm3, xmm3
mov eax, dword [esp + 0x50]
movss xmm0, dword [edi + 0x1500]
comiss xmm3, xmm0
mov edx, dword [eax + 0x274]
jbe 0x1006e170
xorps xmm0, xmm0
jmp 0x1006e178
minss xmm0, dword [0x10145040]
mulss xmm0, dword [0x10145264]
movss xmm2, dword [edi + 0x1900]
movss dword [esp + 0xa4], xmm1
addss xmm0, dword [0x10144fec]
cvttss2si eax, xmm0
movaps xmm0, xmm7
shl eax, 0x18
subss xmm0, xmm6
mov esi, eax
or esi, 0xbebebe
mov dword [esp + 0x6c], esi
mov esi, dword [edi + 0x18fc]
mov edi, dword [esp + 0x2c]
add edi, ecx
mov dword [esp + 0x20], esi
xor ecx, ecx
movss dword [esp + 0xa0], xmm0
cmp byte [esp + 0x30], cl
lea esi, [esp + 0xb0]
cmovne esi, ecx
mov dword [esp + 0x8c], esi
test eax, eax
je 0x1006e31d
test edi, edi
jne 0x1006e208
mov ecx, dword [esp + 0x2c]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006e1f6
mov eax, dword [esp + 0x2c]
sub ecx, edi
lea edi, [eax + ecx]
jmp 0x1006e20c
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x1006e31d
cmp dword [esp + 0x20], 0
jne 0x1006e225
mov eax, dword [edx + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
ucomiss xmm2, xmm3
lahf
test ah, 0x44
jp 0x1006e236
mov eax, dword [edx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [edx + 0x48]
test eax, eax
jle 0x1006e565
mov eax, dword [esp + 0x20]
mov esi, dword [edx + 0x48]
mov ecx, dword [edx + 0x50]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + esi*4 - 4]
mov esi, dword [esp + 0x8c]
jne 0x1006e565
mov ecx, dword [edx + 0x3c]
test ecx, ecx
jle 0x1006e565
mov eax, dword [edx + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esp + 0xd0], xmm0
test esi, esi
je 0x1006e2df
movss xmm0, dword [esp + 0xd0]
maxss xmm0, dword [esi]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esi + 4]
maxss xmm0, dword [esp + 0xd4]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [esi + 8]
minss xmm0, dword [esp + 0xd8]
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [esi + 0xc]
minss xmm0, dword [esp + 0xdc]
movss dword [esp + 0xdc], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0xd8]
mov dword [esp], 0
push edi
push dword [esp + 0x38]
push eax
push dword [esp + 0x80]
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push edx
call fcn.10060040
xorps xmm3, xmm3
mov esi, dword [esp + 0x14]
cmp byte [esi + 0xae], 0
je 0x1006e36f
movss xmm0, dword [esi + 0x2bd4]
comiss xmm3, xmm0
movss dword [esp + 0x8c], xmm0
jae 0x1006e36f
fld dword [esp + 0x8c]
fld dword [0x10145058]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1014501c]
fstp dword [esp + 0x8c]
comiss xmm0, dword [esp + 0x8c]
jae 0x1006e36f
xor al, al
jmp 0x1006e371
mov al, 1
movss xmm4, dword [esp + 0x68]
movss xmm3, dword [esp + 0x3c]
movss xmm7, dword [0x10144fec]
movss xmm6, dword [0x10145040]
addss xmm4, dword [esp + 0x90]
addss xmm3, dword [esp + 0x9c]
movss dword [esp + 0x68], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [esp + 0x60]
subss xmm0, dword [esi + 0x1900]
subss xmm2, dword [0x10145074]
movss dword [esp + 0x3c], xmm3
movaps xmm1, xmm3
movss dword [esp + 0xd0], xmm3
addss xmm0, xmm7
movss dword [esp + 0xdc], xmm2
addss xmm1, xmm6
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xd8], xmm1
test al, al
je 0x1006e53a
comiss xmm2, dword [esp + 0x74]
jbe 0x1006e53a
movss xmm5, dword [esp + 0xcc]
comiss xmm5, xmm0
jbe 0x1006e53a
comiss xmm1, dword [esp + 0x70]
jbe 0x1006e53a
movss xmm0, dword [esp + 0x54]
comiss xmm0, xmm3
jbe 0x1006e53a
mov eax, dword [0x1017bfd8]
xorps xmm5, xmm5
movups xmm0, xmmword [eax + 0x15bc]
comiss xmm5, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xb0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1500]
jbe 0x1006e465
xorps xmm0, xmm0
jmp 0x1006e469
minss xmm0, xmm6
movss xmm4, dword [0x10145264]
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0xb4]
comiss xmm5, xmm0
jbe 0x1006e490
xorps xmm0, xmm0
jmp 0x1006e494
minss xmm0, xmm6
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xb8]
shl eax, 8
or ecx, eax
comiss xmm5, xmm0
jbe 0x1006e4b8
xorps xmm0, xmm0
jmp 0x1006e4bc
minss xmm0, xmm6
mulss xmm0, xmm4
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x1006e4d7
xorps xmm1, xmm1
jmp 0x1006e4db
minss xmm1, xmm6
mulss xmm1, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0xa4], xmm3
addss xmm1, xmm7
movss dword [esp + 0xa8], xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xdc]
push eax
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x274]
call fcn.1005c900
movss xmm3, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x68]
movss xmm6, dword [0x10145040]
cmp byte [esp + 0x44], 0
je 0x1006e55d
subss xmm4, dword [esi + 0x1900]
subss xmm3, xmm6
movss dword [esi + 0x2c84], xmm4
movss dword [esi + 0x2c80], xmm3
xorps xmm4, xmm4
jmp 0x1006d946
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3