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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x10045010]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x1006dc88]
mov ecx, esi
push edi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x74], ecx
mov eax, dword [ecx + 0x1928]
mov byte [eax + 0x78], 1
mov edi, dword [ecx + 0x1928]
mov dword [ebp - 0xac], edi
cmp byte [edi + 0x7b], 0
jne 0x1001ee84
mov eax, dword [ebx + 0x10]
mov edx, eax
shr edx, 0xe
mov ecx, eax
not dl
mov dword [ebp - 0xb4], eax
and edx, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0xb0], edx
and ecx, 0xffffff01
mov edx, eax
mov dword [ebp - 0x9c], ecx
shr eax, 0x10
shr edx, 0xf
not al
and edx, 0xffffff01
and eax, 0xffffff01
mov dword [ebp - 0x118], edx
mov dword [ebp - 0xdc], eax
test cl, cl
je 0x1001eb86
call fcn.10023b30
mov esi, dword [0x1006dc88]
mov ecx, dword [edi + 0x1c8]
xor edx, edx
mov eax, dword [edi + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, 0x100374c4
call fcn.1000b6f0
add esp, 4
mov dword [ebp - 0x7c], eax
cmp dword [esi + 0x1944], eax
jne 0x1001ebb7
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], eax
jne 0x1001ebc6
mov byte [esi + 0x1954], 1
mov ecx, 0x100374c4
mov eax, ecx
cmp eax, 0xffffffff
jae 0x1001ebe8
mov dl, byte [ecx]
test dl, dl
je 0x1001ebe8
cmp dl, 0x23
jne 0x1001ebe2
cmp byte [ecx + 1], dl
je 0x1001ebe8
inc ecx
cmp ecx, 0xffffffff
jb 0x1001ebd2
movss xmm0, dword [esi + 0x1854]
movss xmm1, dword [0x10041fa4]
mov eax, dword [esi + 0x1850]
mov dword [ebp - 0xb8], eax
movss dword [ebp - 0x11c], xmm0
movss dword [ebp - 0x128], xmm1
cmp ecx, 0x100374c4
jne 0x1001ec29
xorps xmm4, xmm4
movss dword [ebp - 0x120], xmm4
jmp 0x1001ec9a
movss xmm3, dword [0x10041f98]
movaps xmm2, xmm0
push ecx
push ecx
push 0x100374c4
push ecx
lea ecx, [ebp - 0xe4]
mov dword [esp], 0xbf800000
push ecx
mov ecx, eax
call fcn.100313d0
movss xmm1, dword [ebp - 0xe4]
xorps xmm4, xmm4
comiss xmm1, xmm4
jbe 0x1001ec77
mov eax, dword [ebp - 0xb8]
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [eax]
subss xmm1, xmm0
addss xmm1, dword [0x10041ecc]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe0]
cmp byte [ebp - 0x9c], 0
je 0x1001ecb3
movss xmm0, dword [esi + 0x1854]
mulss xmm0, dword [0x10041f0c]
mov eax, dword [ebp - 0x74]
mov esi, dword [esi + 0x1928]
movss xmm5, dword [0x10041ed0]
movss xmm1, dword [eax + 0x1540]
movss xmm2, dword [esi + 0x168]
movaps xmm3, xmm1
comiss xmm4, xmm2
addss xmm3, xmm1
addss xmm3, xmm0
jbe 0x1001ed4d
movss xmm4, dword [esi + 0xc8]
movss xmm1, dword [esi + 0x21c]
mov edi, dword [esi + 0x1c4]
subss xmm4, dword [esi + 0xc]
subss xmm1, dword [esi + 0xc]
test edi, edi
je 0x1001ed38
mov edx, dword [edi + 0xc]
movss xmm1, dword [edi + 0x18]
subss xmm1, dword [edi + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [edi + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [edi + 0x14]
subss xmm1, dword [esi + 0x3c]
mov edi, dword [ebp - 0xac]
subss xmm1, xmm4
addss xmm1, xmm2
movaps xmm2, xmm5
maxss xmm2, xmm1
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0xe4]
push dword [eax + 4]
push dword [eax]
cvttss2si eax, xmm2
movaps xmm2, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.1000d720
movss xmm3, dword [edi + 0xc8]
xorps xmm5, xmm5
movss xmm1, dword [ebp - 0xe4]
movaps xmm0, xmm3
movss xmm4, dword [edi + 0xcc]
addss xmm0, xmm1
movss xmm2, dword [ebp - 0xe0]
add esp, 8
mov eax, dword [ebp - 0x74]
movss dword [ebp - 0xd4], xmm1
movaps xmm1, xmm4
addss xmm1, xmm2
movss dword [ebp - 0xc4], xmm2
movss xmm2, dword [ebp - 0x120]
comiss xmm2, xmm5
movss dword [ebp - 0x40], xmm3
movss dword [ebp - 0x3c], xmm4
movss dword [ebp - 0x38], xmm0
movss dword [ebp - 0x34], xmm1
jbe 0x1001ede0
addss xmm2, dword [eax + 0x1554]
jmp 0x1001ede3
xorps xmm2, xmm2
cmp byte [ebp - 0x9c], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm4
mov dword [ebp - 0xcc], edi
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x1c], xmm1
je 0x1001eed8
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.1000d280
movss xmm0, dword [ebp - 0x38]
lea edx, [ebp - 0xe4]
movss xmm1, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x7c]
movss dword [ebp - 0x11c], xmm0
subss xmm0, xmm1
movss dword [ebp - 0x114], xmm1
movss xmm1, dword [ebp - 0x3c]
movss dword [ebp - 0x108], xmm1
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x34]
subss xmm0, xmm1
movss dword [ebp - 0xe0], xmm0
call fcn.10014650
add esp, 4
test al, al
jne 0x1001ee99
call fcn.10014490
call fcn.10023c50
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10034b20
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [0x1006dc88]
movss xmm0, dword [ebp - 0xd4]
mov eax, dword [esi + 0x1928]
mov byte [eax + 0x78], 1
mov edi, dword [esi + 0x1928]
mov dword [ebp - 0xcc], edi
subss xmm0, dword [edi + 0x6c]
mov eax, dword [edi + 0x134]
or dword [edi + 0x13c], eax
movss dword [ebp - 0xd4], xmm0
jmp 0x1001ef44
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm1
movss xmm1, dword [eax + 0x1540]
movss dword [ebp - 0xe4], xmm0
call fcn.1000c930
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.1000d280
add esp, 4
test al, al
je 0x1001ee84
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x114], xmm0
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x40]
call fcn.1000d430
mov edx, dword [ebp - 0x74]
mov byte [ebp - 0x90], al
test al, al
je 0x1001ef66
mov dword [edx + 0x1bd4], 1
cmp byte [ebp - 0x118], 0
je 0x1001effc
mov esi, dword [edx + 0x1850]
cmp dword [esi + 0x28], 0x2a
jg 0x1001ef84
mov edi, dword [esi + 0x34]
jmp 0x1001efa3
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x1001ef9a
mov edi, dword [esi + 0x34]
jmp 0x1001efa3
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
mov eax, dword [esi]
add edx, 0x2abc
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x74]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x1850]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edx + 8], ecx
mov ecx, edx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x1850]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x1850]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x1850]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov dword [edx + 0x34], edi
mov eax, dword [edi + 4]
mov dword [edx + 0x38], eax
call fcn.1001a7e0
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xac]
add edi, 0x1c58
test dword [ebp - 0xb4], 0x440
mov edx, dword [ebp - 0x7c]
sete al
mov dword [ebp - 0xd0], edi
movzx eax, al
push eax
call fcn.1000d5c0
mov dl, al
add esp, 4
mov byte [ebp - 0x85], dl
test dl, dl
je 0x1001f0c6
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x330]
cmp ecx, dword [eax + 0x338]
jne 0x1001f0c6
mov byte [ebp - 0x7e], 1
mov byte [ebp - 0x91], 0
cmp byte [ebp - 0x90], 0
mov edx, dword [ebp - 0x74]
je 0x1001f075
cmp byte [edx + 0x3e8], 0
mov byte [ebp - 0x77], 1
jne 0x1001f079
mov byte [ebp - 0x77], 0
cmp byte [ebp - 0x9c], 0
je 0x1001f0db
cmp dword [edx + 0x1944], 0
jne 0x1001f0db
mov eax, dword [ebp - 0x7c]
cmp dword [edi], eax
jne 0x1001f0db
mov eax, dword [ebp - 0xcc]
xor edx, edx
mov ecx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000b6f0
mov edx, dword [ebp - 0x74]
add esp, 4
cmp dword [edx + 0x1948], eax
jne 0x1001f0db
mov cl, 1
jmp 0x1001f0dd
mov byte [ebp - 0x7e], 0
test dl, dl
je 0x1001f055
mov byte [ebp - 0x91], 1
mov byte [ebp - 0x7e], 0
jmp 0x1001f05c
xor cl, cl
mov eax, dword [edx + 0x1944]
cmp eax, dword [ebp - 0x7c]
je 0x1001f115
mov esi, dword [ebp - 0x7c]
cmp dword [edx + 0x1a38], esi
je 0x1001f104
cmp dword [edx + 0x1a2c], esi
jne 0x1001f115
cmp dword [edx + 0x1a48], 3
jne 0x1001f115
mov dl, 1
mov byte [ebp - 0x8d], 0
mov byte [ebp - 0x8f], dl
jmp 0x1001f129
xor dl, dl
mov byte [ebp - 0x8d], 0
mov byte [ebp - 0x8f], dl
cmp eax, dword [ebp - 0x7c]
je 0x1001f146
test byte [ebp - 0xb4], 0x10
jne 0x1001f136
test dl, dl
je 0x1001f146
cmp byte [ebp - 0x9c], 0
mov byte [ebp - 0xa4], 1
je 0x1001f14d
mov byte [ebp - 0xa4], 0
cmp byte [ebp - 0x85], 0
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov dword [ebp - 0x104], esi
mov esi, dword [0x1006dc88]
jne 0x1001f191
cmp byte [ebp - 0x77], 0
jne 0x1001f191
test cl, cl
jne 0x1001f191
test dl, dl
jne 0x1001f191
mov eax, dword [ebp - 0x74]
cmp byte [eax + 0x3e8], dl
je 0x1001f360
mov byte [ebp - 0x8d], 1
jmp 0x1001f360
mov ecx, dword [ebp - 0x7c]
cmp eax, ecx
je 0x1001f324
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 4]
push 0x21
mov dword [ebp - 0x10c], eax
call fcn.10024ee0
push 0x21
lea ecx, [edi + 0x10]
call fcn.100250f0
mov esi, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xb8], eax
cmp esi, 1
jb 0x1001f1e6
push esi
push dword [ebp - 0xa8]
push eax
call dword [ebp - 0x104]
mov eax, dword [ebp - 0xb8]
add esp, 0xc
mov byte [eax + esi - 1], 0
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0x98]
mov edx, dword [edi + 4]
push eax
push ecx
mov ecx, dword [edi + 0xc]
push esi
mov dword [ebp - 0x98], 0
call fcn.1000b9a0
mov ecx, dword [ebp - 0x98]
add esp, 0xc
sub ecx, esi
mov dword [edi + 0xe5c], 0xbe99999a
mov dword [edi + 0x28], ecx
mov edx, eax
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0x2c], edx
cmp dword [edi], ecx
jne 0x1001f263
cmp dword [ebp - 0x10c], edx
jne 0x1001f263
cmp dword [edi + 0x38], edx
mov ecx, edx
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
cmovl edx, dword [edi + 0x40]
mov ecx, dword [ebp - 0x7c]
mov dword [edi + 0x40], edx
mov edx, dword [ebp - 0x9c]
jmp 0x1001f2d8
mov edx, dword [ebp - 0x9c]
mov al, dl
mov dword [edi], ecx
xor al, 1
mov dword [edi + 0x34], 0
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe54], 0
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x44], 0x10000
mov dword [edi + 0x4c], 0
mov byte [edi + 0x48], al
test dl, dl
jne 0x1001f2d8
mov eax, dword [ebp - 0xa4]
mov esi, 1
cmp byte [ebp - 0x7e], dl
movzx eax, al
cmovne eax, esi
mov dword [ebp - 0xa4], eax
test dword [ebp - 0xb4], 0x2000
je 0x1001f2e8
mov byte [edi + 0x44], 1
mov esi, dword [ebp - 0x74]
test dl, dl
jne 0x1001f327
cmp byte [ebp - 0x91], dl
jne 0x1001f304
cmp byte [ebp - 0x77], dl
je 0x1001f327
cmp byte [esi + 0xf1], dl
je 0x1001f327
mov edx, dword [ebp - 0xac]
mov byte [ebp - 0xa4], 1
call fcn.1000c7b0
call fcn.1000c870
mov ecx, edx
call fcn.1001a650
jmp 0x1001f347
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0xac]
call fcn.1000c7b0
call fcn.1000c870
mov ecx, edx
call fcn.1001a650
cmp byte [ebp - 0x9c], 0
jne 0x1001f357
test byte [ebp - 0xb4], 0x80
jne 0x1001f357
or dword [esi + 0x1958], 0xc
mov eax, dword [ebp - 0x74]
mov esi, dword [0x1006dc88]
movss xmm0, dword [0x10041eac]
xor cl, cl
mov byte [ebp - 0xb9], cl
mov byte [ebp - 0x91], cl
mov ecx, dword [ebp - 0x7c]
cmp dword [eax + 0x1944], ecx
jne 0x1001f615
cmp byte [ebp - 0xb0], 0
jne 0x1001f412
cmp byte [eax + 0x1951], 0
jne 0x1001f412
push 0x21
lea ecx, [edi + 4]
call fcn.10024ee0
mov edx, dword [edi + 4]
lea eax, [ebp - 0x98]
push eax
push ecx
push dword [ebp - 0xa8]
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x98], 0
call fcn.1000b9a0
mov ecx, dword [ebp - 0x98]
mov esi, eax
sub ecx, dword [ebp - 0xa8]
add esp, 0xc
cmp dword [edi + 0x38], esi
mov edx, esi
movss xmm0, dword [0x10041eac]
cmovl edx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov eax, dword [ebp - 0x74]
mov dword [edi + 0x28], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x2c], esi
cmovl esi, dword [edi + 0x40]
mov dword [edi + 0x40], esi
mov esi, dword [0x1006dc88]
mov dword [edi + 0x38], edx
mov dword [edi + 0x3c], ecx
mov ecx, dword [ebp - 0x74]
mov dword [edi + 0x30], 0x20
cmp byte [eax + 0xe0], 0
sete al
cmp byte [ebp - 0x9c], 0
mov byte [ecx + 0x1952], al
mov eax, ecx
mov dword [eax + 0x2d98], 1
movss xmm7, dword [eax + 0xd8]
subss xmm7, dword [ebp - 0x114]
subss xmm7, dword [eax + 0x153c]
addss xmm7, dword [edi + 0x34]
je 0x1001f47e
mov ecx, dword [ebp - 0xcc]
movss xmm2, dword [eax + 0xdc]
subss xmm2, dword [ecx + 0xcc]
subss xmm2, dword [eax + 0x1540]
jmp 0x1001f48a
movss xmm2, dword [eax + 0x1854]
mulss xmm2, xmm0
cmp byte [ebp - 0xa4], 0
mov dl, byte [eax + 0xbc]
mov byte [ebp - 0x76], dl
jne 0x1001f7ad
mov cl, byte [ebp - 0x90]
test cl, cl
je 0x1001f4be
test dl, dl
jne 0x1001f6a6
cmp byte [eax + 0x3ed], dl
jne 0x1001f7ad
mov esi, dword [ebp - 0x74]
lea edx, [edi + 0xe61]
mov al, byte [edx]
cmp byte [esi + 0x3e8], 0
mov esi, dword [0x1006dc88]
je 0x1001f70a
test al, al
jne 0x1001f70a
test cl, cl
je 0x1001f528
cmp byte [edi + 0x48], al
je 0x1001f501
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.1001d0e0
movss xmm2, dword [ebp - 0x24]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.1001d370
mov dword [edi + 0x38], eax
lea edx, [edi + 0xe61]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edx
mov dl, byte [ebp - 0x76]
cmp byte [ecx], 0
mov eax, dword [ebp - 0x74]
je 0x1001f541
cmp byte [eax + 0xe0], 0
jne 0x1001f541
mov byte [ecx], 0
add eax, 0x2f6
mov dword [ebp - 0xd8], eax
cmp word [eax], 0
je 0x1001f615
mov ecx, dword [ebp - 0x74]
cmp byte [ecx + 0xf1], 0
je 0x1001f56f
cmp byte [ecx + 0xf3], 0
je 0x1001f5f8
test dl, dl
je 0x1001f57c
cmp byte [ecx + 0xf4], 0
jne 0x1001f5f8
cmp byte [ebp - 0xb0], 0
je 0x1001f5f8
cmp byte [ebp - 0x8f], 0
jne 0x1001f5f8
xor esi, esi
movzx eax, word [eax]
test ax, ax
je 0x1001f5f2
mov edx, dword [ebp - 0xb4]
lea ecx, [ebp - 0x98]
sub esp, 8
mov dword [ebp - 0x98], eax
call fcn.1001e8f0
add esp, 8
test al, al
je 0x1001f5dd
push dword [ebp - 0x98]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1001d7a0
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov eax, dword [ebp - 0xd8]
inc esi
add eax, 2
mov dword [ebp - 0xd8], eax
cmp esi, 0x11
jl 0x1001f590
mov esi, dword [0x1006dc88]
mov eax, dword [ebp - 0x74]
xorps xmm0, xmm0
movups xmmword [eax + 0x2f6], xmm0
movups xmmword [eax + 0x306], xmm0
mov word [eax + 0x316], 0
mov ecx, dword [ebp - 0x74]
xor al, al
mov edx, dword [ebp - 0x7c]
mov byte [ebp - 0x75], al
cmp dword [ecx + 0x1944], edx
jne 0x1002118f
cmp byte [ecx + 0x1951], al
jne 0x10020ca8
cmp byte [ebp - 0x8d], al
jne 0x10020ca8
mov eax, ecx
xor esi, esi
mov ecx, 0x20000
mov al, byte [eax + 0xf2]
test al, al
mov byte [ebp - 0x7e], al
mov eax, dword [ebp - 0x74]
cmovne esi, ecx
mov ecx, dword [ebp - 0x74]
mov ah, byte [eax + 0xbc]
mov al, byte [ecx + 0xf1]
mov byte [ebp - 0xba], ah
test ah, ah
je 0x1001f7d7
cmp byte [ecx + 0xf4], 0
lea edx, [ecx + 0xf4]
mov dword [ebp - 0x84], edx
je 0x1001f7cf
test al, al
jne 0x1001f7cf
mov ecx, 1
jmp 0x1001f7d1
cmp byte [eax + 0x3ed], 0
je 0x1001f4be
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1001d7a0
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.1001d7a0
mov esi, dword [0x1006dc88]
lea ecx, [edi + 0xe61]
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x1001f52a
mov esi, dword [ebp - 0x74]
mov ecx, edx
cmp byte [esi + 0xe0], 0
mov esi, dword [0x1006dc88]
je 0x1001f52a
test al, al
jne 0x1001f52a
mov eax, dword [ebp - 0x74]
xorps xmm1, xmm1
movss xmm0, dword [eax + 0x384]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1001f759
mov eax, dword [ebp - 0x74]
movss xmm0, dword [eax + 0x388]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001f52a
cmp byte [edi + 0x48], 0
je 0x1001f773
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.1001d0e0
movss xmm2, dword [ebp - 0x24]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1001f781
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.1001d370
mov dword [edi + 0x40], eax
lea ecx, [edi + 0xe61]
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x1001f52a
mov eax, dword [edi + 0x2c]
lea ecx, [edi + 0xe61]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [ecx], 1
jmp 0x1001f52d
xor ecx, ecx
test ecx, ecx
je 0x1001f80f
jmp 0x1001f7ee
add ecx, 0xf4
test al, al
je 0x1001f807
cmp byte [ecx], 0
jne 0x1001f807
mov edx, ecx
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x74]
cmp byte [ecx + 0xf3], 0
mov ch, byte [ebp - 0x7e]
jne 0x1001f812
test ch, ch
jne 0x1001f812
mov byte [ebp - 0x76], 1
jmp 0x1001f816
mov edx, ecx
mov dword [ebp - 0x84], edx
mov ch, byte [ebp - 0x7e]
mov byte [ebp - 0x76], 0
mov cl, al
test ah, ah
je 0x1001f85e
mov edx, dword [ebp - 0x74]
cmp byte [edx + 0xf4], 0
mov edx, dword [ebp - 0x84]
je 0x1001f85e
test ch, ch
je 0x1001f85e
mov eax, dword [ebp - 0x74]
mov ah, byte [eax + 0xf1]
mov byte [ebp - 0x7d], ah
mov cl, ah
test ah, ah
jne 0x1001f85e
mov edx, dword [ebp - 0x74]
cmp byte [edx + 0xf3], ah
mov edx, dword [ebp - 0x84]
jne 0x1001f85e
mov byte [ebp - 0x8e], 1
jmp 0x1001f877
cmp byte [ebp - 0xba], 0
mov ah, cl
mov byte [ebp - 0x7d], cl
mov byte [ebp - 0x8e], 0
je 0x1001f91a
mov edx, dword [ebp - 0x74]
mov al, byte [edx + 0xf3]
mov edx, dword [ebp - 0x84]
mov byte [ebp - 0x7f], al
cmp byte [edx], 0
je 0x1001f929
test ah, ah
jne 0x1001f929
test al, al
jne 0x1001f929
mov dl, 1
cmp byte [ebp - 0x7e], 0
mov cl, dl
mov byte [ebp - 0x8f], cl
mov byte [ebp - 0x86], cl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x77], 0
je 0x1001f968
mov byte [ebp - 0x86], cl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x77], 0
test ah, ah
jne 0x1001f968
mov edx, dword [ebp - 0x74]
mov byte [ebp - 0x86], cl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x77], ah
cmp byte [edx + 0xf3], ah
jne 0x1001f968
mov edx, dword [ebp - 0x84]
mov byte [ebp - 0x86], cl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x77], ah
cmp byte [edx], ah
jne 0x1001f968
mov byte [ebp - 0x87], 1
mov byte [ebp - 0x86], cl
mov byte [ebp - 0x7f], al
mov byte [ebp - 0x77], ah
jmp 0x1001f96f
mov al, ah
mov byte [ebp - 0x7f], ah
mov byte [ebp - 0x8e], 0
mov byte [ebp - 0x7d], ah
xor dl, dl
mov byte [ebp - 0x86], dl
test ah, ah
je 0x1001f8a4
test ch, ch
jne 0x1001f8a4
mov ecx, dword [ebp - 0x74]
cmp byte [ecx + 0xf3], dl
jne 0x1001f8a4
mov ecx, dword [ebp - 0x84]
cmp byte [ecx], dl
jne 0x1001f8a4
mov byte [ebp - 0x77], 1
mov byte [ebp - 0x8f], dl
mov byte [ebp - 0x87], 0
cmp byte [ebp - 0x76], 0
xorps xmm4, xmm4
mov edx, dword [0x1006dc88]
je 0x1001fa03
mov eax, dword [edx + 0x7c]
test eax, eax
js 0x1001fa03
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fa91
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fa03
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001f9c4
mov eax, 1
jmp 0x1001f9fb
comiss xmm2, xmm1
jae 0x1001f9f9
comiss xmm4, xmm3
jae 0x1001f9f9
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001f9fb
xor eax, eax
test eax, eax
jg 0x1001fa91
cmp byte [ebp - 0x87], 0
je 0x1001fabd
mov eax, dword [edx + 0x5c]
test eax, eax
js 0x1001fabd
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fa91
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fabd
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fa56
mov eax, 1
jmp 0x1001fa8d
comiss xmm2, xmm1
jae 0x1001fa8b
comiss xmm4, xmm3
jae 0x1001fa8b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fa8d
xor eax, eax
test eax, eax
jle 0x1001fabd
cmp byte [ebp - 0xb0], 0
je 0x1001fabd
cmp byte [ebp - 0x118], 0
jne 0x1001fabd
cmp byte [ebp - 0x9c], 0
je 0x1001fab4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1001fabd
mov byte [ebp - 0x90], 1
jmp 0x1001fac4
mov byte [ebp - 0x90], 0
cmp byte [ebp - 0x76], 0
je 0x1001fb4f
mov eax, dword [edx + 0x74]
test eax, eax
js 0x1001fb4f
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fbd6
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fb4f
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fb10
mov eax, 1
jmp 0x1001fb47
comiss xmm2, xmm1
jae 0x1001fb45
comiss xmm4, xmm3
jae 0x1001fb45
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fb47
xor eax, eax
test eax, eax
jg 0x1001fbd6
cmp byte [ebp - 0x77], 0
je 0x1001fbf6
mov eax, dword [edx + 0x58]
test eax, eax
js 0x1001fbf6
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fbd6
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fbf6
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fb9b
mov eax, 1
jmp 0x1001fbd2
comiss xmm2, xmm1
jae 0x1001fbd0
comiss xmm4, xmm3
jae 0x1001fbd0
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fbd2
xor eax, eax
test eax, eax
jle 0x1001fbf6
cmp byte [ebp - 0x118], 0
jne 0x1001fbf6
cmp byte [ebp - 0x9c], 0
je 0x1001fbf0
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x1001fbf6
mov byte [ebp - 0x77], 1
jmp 0x1001fbfa
mov byte [ebp - 0x77], 0
cmp byte [ebp - 0x76], 0
je 0x1001fc85
mov eax, dword [edx + 0x78]
test eax, eax
js 0x1001fc85
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fd0f
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fc85
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fc46
mov eax, 1
jmp 0x1001fc7d
comiss xmm2, xmm1
jae 0x1001fc7b
comiss xmm4, xmm3
jae 0x1001fc7b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fc7d
xor eax, eax
test eax, eax
jg 0x1001fd0f
cmp byte [ebp - 0x87], 0
je 0x1001fd1f
mov eax, dword [edx + 0x58]
test eax, eax
js 0x1001fd1f
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fd0f
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fd1f
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fcd4
mov eax, 1
jmp 0x1001fd0b
comiss xmm2, xmm1
jae 0x1001fd09
comiss xmm4, xmm3
jae 0x1001fd09
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fd0b
xor eax, eax
test eax, eax
jle 0x1001fd1f
cmp byte [ebp - 0xb0], 0
mov byte [ebp - 0x85], 1
jne 0x1001fd26
mov byte [ebp - 0x85], 0
mov cl, byte [ebp - 0x76]
test cl, cl
je 0x1001fdcf
mov eax, dword [edx + 0x84]
test eax, eax
js 0x1001fdcf
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001fdb4
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fdcf
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fd76
mov eax, 1
jmp 0x1001fdb0
comiss xmm2, xmm1
jae 0x1001fdae
comiss xmm4, xmm3
jae 0x1001fdae
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov cl, byte [ebp - 0x76]
jmp 0x1001fdb0
xor eax, eax
test eax, eax
jle 0x1001fdcf
cmp byte [ebp - 0xb0], 0
je 0x1001fdcf
cmp byte [ebp - 0xdc], 0
je 0x1001fdcf
mov byte [ebp - 0x87], 1
jmp 0x1001fdde
mov byte [ebp - 0x87], 0
test cl, cl
je 0x1001fe62
mov eax, dword [edx + 0x80]
test eax, eax
js 0x1001fe62
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001feef
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001fe62
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001fe23
mov eax, 1
jmp 0x1001fe5a
comiss xmm2, xmm1
jae 0x1001fe58
comiss xmm4, xmm3
jae 0x1001fe58
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001fe5a
xor eax, eax
test eax, eax
jg 0x1001feef
cmp byte [ebp - 0x8e], 0
je 0x1001ff08
mov eax, dword [edx + 0x84]
test eax, eax
js 0x1001ff08
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001feef
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001ff08
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001feb4
mov eax, 1
jmp 0x1001feeb
comiss xmm2, xmm1
jae 0x1001fee9
comiss xmm4, xmm3
jae 0x1001fee9
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001feeb
xor eax, eax
test eax, eax
jle 0x1001ff08
cmp byte [ebp - 0xb0], 0
je 0x1001ff08
cmp byte [ebp - 0xdc], 0
mov byte [ebp - 0x8e], 1
jne 0x1001ff0f
mov byte [ebp - 0x8e], 0
mov eax, dword [edx + 0x38]
test eax, eax
js 0x1001ffd3
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1001ff90
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1001ffd3
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1001ff55
mov eax, 1
jmp 0x1001ff8c
comiss xmm2, xmm1
jae 0x1001ff8a
comiss xmm4, xmm3
jae 0x1001ff8a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1001ff8c
xor eax, eax
test eax, eax
jle 0x1001ffd3
cmp byte [ebp - 0x8f], 0
je 0x1001ffb0
mov eax, 0x10004
lea edx, [edi + 0x38]
or eax, esi
mov ecx, edi
push eax
call fcn.1001d7a0
jmp 0x10020c85
cmp byte [ebp - 0x7f], 0
lea edx, [edi + 0x38]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x3c]
test eax, eax
js 0x10020097
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020054
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020097
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020019
mov eax, 1
jmp 0x10020050
comiss xmm2, xmm1
jae 0x1002004e
comiss xmm4, xmm3
jae 0x1002004e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020050
xor eax, eax
test eax, eax
jle 0x10020097
cmp byte [ebp - 0x8f], 0
je 0x10020074
mov eax, 0x10005
lea edx, [edi + 0x38]
or eax, esi
mov ecx, edi
push eax
call fcn.1001d7a0
jmp 0x10020c85
cmp byte [ebp - 0x7f], 0
lea edx, [edi + 0x38]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, edi
or eax, esi
push eax
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x40]
test eax, eax
js 0x10020182
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020118
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020182
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100200dd
mov eax, 1
jmp 0x10020114
comiss xmm2, xmm1
jae 0x10020112
comiss xmm4, xmm3
jae 0x10020112
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020114
xor eax, eax
test eax, eax
jle 0x10020182
cmp byte [ebp - 0x9c], 0
je 0x10020182
cmp byte [ebp - 0x7d], 0
je 0x10020162
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x74]
movss xmm1, dword [ecx + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [eax + 0x1854]
addss xmm1, dword [ecx + 0xe4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [ecx + 0x58], xmm0
movss dword [ecx + 0xe4], xmm1
jmp 0x10020c99
movzx eax, byte [ebp - 0x86]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x44]
test eax, eax
js 0x10020295
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020207
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020295
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100201c8
mov eax, 1
jmp 0x100201ff
comiss xmm2, xmm1
jae 0x100201fd
comiss xmm4, xmm3
jae 0x100201fd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100201ff
xor eax, eax
test eax, eax
jle 0x10020295
cmp byte [ebp - 0x9c], 0
je 0x10020295
cmp byte [ebp - 0x7d], 0
je 0x10020275
mov eax, dword [edx + 0x1928]
mov ecx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0x74]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [esi + 0x1854]
addss xmm3, dword [ecx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x58], xmm2
movss dword [ecx + 0xe4], xmm3
jmp 0x10020c99
movzx eax, byte [ebp - 0x86]
lea edx, [edi + 0x38]
mov ecx, edi
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x50]
test eax, eax
js 0x10020336
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020312
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020336
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100202d7
mov eax, 1
jmp 0x1002030e
comiss xmm2, xmm1
jae 0x1002030c
comiss xmm4, xmm3
jae 0x1002030c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002030e
xor eax, eax
test eax, eax
jle 0x10020336
mov eax, esi
lea edx, [edi + 0x38]
or eax, 0x10006
or esi, 0x10004
cmp byte [ebp - 0x7d], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x54]
test eax, eax
js 0x100203d7
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100203b3
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x100203d7
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020378
mov eax, 1
jmp 0x100203af
comiss xmm2, xmm1
jae 0x100203ad
comiss xmm4, xmm3
jae 0x100203ad
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100203af
xor eax, eax
test eax, eax
jle 0x100203d7
mov eax, esi
lea edx, [edi + 0x38]
or eax, 0x10007
or esi, 0x10005
cmp byte [ebp - 0x7d], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x5c]
test eax, eax
js 0x10020473
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020454
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020473
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020419
mov eax, 1
jmp 0x10020450
comiss xmm2, xmm1
jae 0x1002044e
comiss xmm4, xmm3
jae 0x1002044e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020450
xor eax, eax
test eax, eax
jle 0x10020473
cmp byte [ebp - 0xb0], 0
je 0x10020473
or esi, 0x10008
lea edx, [edi + 0x38]
push esi
mov ecx, edi
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x60]
test eax, eax
js 0x10020571
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100204f4
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020571
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100204b9
mov eax, 1
jmp 0x100204f0
comiss xmm2, xmm1
jae 0x100204ee
comiss xmm4, xmm3
jae 0x100204ee
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100204f0
xor eax, eax
test eax, eax
jle 0x10020571
cmp byte [ebp - 0xb0], 0
je 0x10020571
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1002055b
cmp byte [ebp - 0x7f], 0
je 0x10020512
push 0x3000c
jmp 0x1002053d
cmp byte [ebp - 0xba], 0
je 0x1002055b
mov eax, dword [ebp - 0x84]
cmp byte [eax], 0
je 0x1002055b
mov eax, dword [ebp - 0x74]
cmp byte [eax + 0xf3], 0
jne 0x1002055b
cmp byte [ebp - 0x7d], 0
jne 0x1002055b
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1001d7a0
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
or esi, 0x10009
lea edx, [edi + 0x38]
push esi
mov ecx, edi
call fcn.1001d7a0
jmp 0x10020c85
mov eax, dword [edx + 0x68]
test eax, eax
js 0x10020676
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100205f6
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020676
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100205b7
mov eax, 1
jmp 0x100205ee
comiss xmm2, xmm1
jae 0x100205ec
comiss xmm4, xmm3
jae 0x100205ec
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100205ee
xor eax, eax
test eax, eax
jle 0x10020676
mov ecx, dword [ebp - 0xb4]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x9c], 0
je 0x10020616
test al, al
je 0x10020629
cmp byte [ebp - 0x7d], 0
jne 0x1002062f
mov byte [ebp - 0x8d], 1
mov byte [ebp - 0x91], 1
jmp 0x10020c99
cmp byte [ebp - 0x7d], 0
jne 0x10020616
cmp byte [ebp - 0xb0], 0
je 0x10020c99
mov dword [ebp - 0x98], 0xa
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0x98]
call fcn.1001e8f0
add esp, 8
test al, al
je 0x10020c99
push dword [ebp - 0x98]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1001d7a0
jmp 0x10020c85
mov ecx, dword [ebp - 0xb4]
test ecx, 0x400
je 0x1002073f
mov eax, dword [edx + 0x34]
test eax, eax
js 0x1002073f
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002070f
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x1002073f
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100206ce
mov eax, 1
jmp 0x1002070b
comiss xmm2, xmm1
jae 0x10020709
comiss xmm4, xmm3
jae 0x10020709
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp - 0xb4]
jmp 0x1002070b
xor eax, eax
test eax, eax
jle 0x1002073f
cmp byte [ebp - 0x7d], 0
mov esi, dword [ebp - 0x74]
jne 0x10020742
cmp byte [ebp - 0x7e], 0
jne 0x10020742
cmp byte [esi + 0xf3], 0
jne 0x10020742
cmp byte [ebp - 0xb0], 0
je 0x10020742
mov dword [ebp - 0x98], 9
jmp 0x10020646
mov esi, dword [ebp - 0x74]
mov eax, dword [edx + 0x6c]
test eax, eax
js 0x100207c8
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100207bb
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x100207c8
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020780
mov eax, 1
jmp 0x100207b7
comiss xmm2, xmm1
jae 0x100207b5
comiss xmm4, xmm3
jae 0x100207b5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100207b7
xor eax, eax
test eax, eax
jle 0x100207c8
mov al, 1
mov byte [ebp - 0x8d], al
jmp 0x10020c9c
mov al, byte [ebp - 0x87]
test al, al
jne 0x10020c66
cmp byte [ebp - 0x8e], al
jne 0x10020c66
cmp byte [ebp - 0x76], al
je 0x10020881
mov eax, dword [edx + 0x70]
test eax, eax
js 0x10020881
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020868
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020881
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002082d
mov eax, 1
jmp 0x10020864
comiss xmm2, xmm1
jae 0x10020862
comiss xmm4, xmm3
jae 0x10020862
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020864
xor eax, eax
test eax, eax
jle 0x10020881
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
jmp 0x10020c92
cmp byte [ebp - 0x90], 0
jne 0x10020b3a
cmp byte [ebp - 0x77], 0
jne 0x10020b3a
cmp byte [ebp - 0x85], 0
je 0x10020c99
mov eax, dword [edx + 0xc0]
test eax, eax
je 0x100208c5
push dword [edx + 0xc8]
call eax
mov esi, eax
add esp, 4
test esi, esi
jne 0x100208ca
jmp 0x10020c99
mov esi, 0x100374c4
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100208d0
inc dword [0x1006dcbc]
sub ecx, edx
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 [ebp - 0x8c], ecx
mov dword [ebp - 0xac], eax
cmp byte [esi], al
je 0x10020973
push 0
mov edx, esi
lea ecx, [ebp - 0xc8]
call fcn.1000b810
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xc8]
test eax, eax
je 0x10020967
cmp eax, 0x10000
jae 0x10020962
mov edx, dword [ebp - 0xb4]
lea ecx, [ebp - 0xc8]
sub esp, 8
call fcn.1001e8f0
add esp, 8
test al, al
je 0x10020962
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x8c]
mov ax, word [ebp - 0xc8]
mov word [edx + ecx*2], ax
inc ecx
mov dword [ebp - 0xac], ecx
cmp byte [esi], 0
jne 0x10020904
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x10020b21
mov ecx, dword [edi + 0x40]
lea esi, [edi + 0x38]
mov eax, dword [esi + 4]
mov edx, dword [edi + 0x2c]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xc0], ecx
cmp eax, ecx
je 0x100209f6
mov dword [ebp - 0xa0], eax
cmp eax, edx
mov eax, edx
jle 0x100209b5
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0x2c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x84], ecx
cmp ecx, eax
jle 0x100209cd
mov dword [edi + 0x40], eax
mov edx, dword [edi + 0x2c]
mov dword [ebp - 0x84], eax
jmp 0x100209cf
mov eax, ecx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xa0]
cmp eax, esi
lea esi, [edi + 0x38]
jne 0x100209f6
mov ecx, dword [ebp - 0x84]
mov dword [esi], eax
mov dword [ebp - 0xc0], ecx
mov ecx, dword [esi]
mov esi, ecx
cmp esi, dword [ebp - 0xa4]
lea esi, [edi + 0x38]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0xc0]
jle 0x10020a25
mov ecx, dword [ebp - 0xa4]
mov dword [esi], ecx
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0xc0]
cmp eax, ecx
je 0x10020a82
mov dword [ebp - 0xc0], eax
cmp eax, edx
jle 0x10020a3c
mov dword [esi + 4], edx
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xa0], ecx
cmp ecx, edx
jle 0x10020a55
mov dword [esi + 8], edx
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0xa0]
mov esi, ecx
cmp dword [ebp - 0xc0], esi
lea esi, [edi + 0x38]
jne 0x10020a82
mov eax, dword [ebp - 0xc0]
mov dword [esi], eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], edx
jle 0x10020a8c
mov dword [esi], edx
cmp eax, ecx
je 0x10020ac1
mov edx, esi
jge 0x10020aa7
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1001d660
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
jmp 0x10020ab8
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov eax, dword [esi + 8]
mov dword [esi + 4], eax
mov dword [esi], eax
add esp, 8
mov byte [esi + 0xf], 0
push dword [ebp - 0xac]
mov edx, dword [esi]
mov ecx, edi
push dword [ebp - 0x8c]
call fcn.1001d2c0
add esp, 8
test al, al
je 0x10020b00
push dword [ebp - 0xac]
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push 0
call fcn.1001e430
mov eax, dword [ebp - 0xac]
add esp, 8
add dword [esi], eax
mov byte [esi + 0xf], 0
jmp 0x10020b14
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x10020b14
dec eax
mov word [esi + 0xe16], ax
mov ecx, dword [ebp - 0x8c]
mov byte [edi + 0xe60], 1
test ecx, ecx
je 0x10020b2b
dec dword [0x1006dcbc]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x10020c99
cmp dword [esi + 0xc4], 0
je 0x10020bbd
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x3c]
cmp ecx, eax
je 0x10020b57
mov edx, eax
cmovge eax, ecx
cmovl edx, ecx
jmp 0x10020b5c
mov eax, dword [edi + 0x2c]
xor edx, edx
mov dword [ebp - 0x98], eax
lea ecx, [edi + 0x1c]
sub eax, edx
mov dword [ebp - 0xd8], edx
lea eax, [eax*4 + 1]
push eax
call fcn.100250f0
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x98]
mov edx, dword [edi + 0x1c]
lea eax, [ecx + eax*2]
push eax
mov eax, dword [ebp - 0xd8]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.1000ba10
mov edx, dword [0x1006dc88]
add esp, 8
mov eax, dword [edx + 0xc4]
test eax, eax
je 0x10020bbd
push dword [edi + 0x24]
push dword [edx + 0xc8]
call eax
add esp, 8
cmp byte [ebp - 0x90], 0
je 0x10020c99
mov eax, dword [edi + 0x3c]
lea esi, [edi + 0x38]
cmp eax, dword [edi + 0x40]
jne 0x10020be8
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [esi], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
cmp eax, ecx
je 0x10020c99
mov edx, dword [edi + 0x2c]
cmp eax, edx
jle 0x10020c09
mov dword [esi + 4], edx
mov eax, edx
cmp ecx, edx
jle 0x10020c12
mov dword [esi + 8], edx
mov ecx, edx
cmp eax, ecx
jne 0x10020c18
mov dword [esi], eax
cmp dword [esi], edx
jle 0x10020c1e
mov dword [esi], edx
cmp eax, ecx
je 0x10020c60
mov edx, esi
jge 0x10020c46
sub ecx, eax
push ecx
push eax
mov ecx, edi
call fcn.1001d660
mov eax, dword [esi + 4]
add esp, 8
mov dword [esi + 8], eax
mov dword [esi], eax
mov byte [esi + 0xf], 0
mov byte [esi + 0xf], 0
jmp 0x10020c99
sub eax, ecx
push eax
push ecx
mov ecx, edi
call fcn.1001d660
mov eax, dword [esi + 8]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi], eax
mov byte [esi + 0xf], 0
mov byte [esi + 0xf], 0
jmp 0x10020c99
movzx eax, al
lea edx, [edi + 0x38]
xor eax, 1
mov ecx, edi
add eax, 0x1000a
push eax
call fcn.1001d7a0
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
add esp, 4
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
mov al, byte [ebp - 0x75]
mov esi, dword [0x1006dc88]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x7c]
cmp dword [ecx + 0x1944], edx
jne 0x1002118f
test al, al
je 0x10020d14
cmp byte [ebp - 0xb0], 0
je 0x10020cfa
mov esi, dword [ebp - 0xa8]
push 0x20
push dword [edi + 0x18]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10020cf4
push 0x20
push dword [edi + 0x18]
push esi
call dword [ebp - 0x104]
add esp, 0xc
mov byte [esi + 0x1f], 0
mov byte [ebp - 0xb9], 1
mov esi, dword [0x1006dc88]
cmp byte [ebp - 0x91], 0
je 0x1002118f
test byte [ebp - 0xb4], 0x20
je 0x1002118f
cmp byte [ebp - 0xb0], 0
je 0x10020d45
mov eax, dword [edi + 4]
lea ecx, [edi + 0x1c]
shl eax, 2
push eax
call fcn.100250f0
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x24]
push 0
push dword [edi + 0xc]
call fcn.1000ba10
mov esi, dword [0x1006dc88]
add esp, 8
mov ecx, dword [ebp - 0xb4]
test ecx, 0x1c0
je 0x10021128
mov edx, dword [0x1006dc88]
mov esi, 0x15
xorps xmm4, xmm4
test cl, 0x40
je 0x10020dfb
mov eax, dword [edx + 0x34]
test eax, eax
js 0x10020dfb
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020def
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020dfb
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020dae
lea eax, [esi - 0x14]
jmp 0x10020deb
comiss xmm2, xmm1
jae 0x10020de9
comiss xmm4, xmm3
jae 0x10020de9
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp - 0xb4]
jmp 0x10020deb
xor eax, eax
test eax, eax
jle 0x10020dfb
mov eax, 0x40
xor esi, esi
jmp 0x10020f29
test cl, cl
jns 0x10020f14
mov eax, dword [edx + 0x40]
test eax, eax
js 0x10020e8d
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020e80
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020e8d
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020e45
mov eax, 1
jmp 0x10020e7c
comiss xmm2, xmm1
jae 0x10020e7a
comiss xmm4, xmm3
jae 0x10020e7a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020e7c
xor eax, eax
test eax, eax
jle 0x10020e8d
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x10020f29
mov eax, dword [edx + 0x44]
test eax, eax
js 0x10020f14
movss xmm1, dword [edx + eax*4 + 0x460]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10020f0a
movss xmm2, dword [edx + 0x88]
comiss xmm1, xmm2
jbe 0x10020f14
movss xmm3, dword [edx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10020ecf
mov eax, 1
jmp 0x10020f06
comiss xmm2, xmm1
jae 0x10020f04
comiss xmm4, xmm3
jae 0x10020f04
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edx + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10020f06
xor eax, eax
test eax, eax
jle 0x10020f14
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x10020f29
test dword [ebp - 0xb4], 0x100
je 0x10021122
mov eax, 0x100
mov dword [ebp - 0x70], eax
xor ecx, ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x6c], eax
mov al, byte [ebp - 0xb0]
xor al, 1
mov dword [ebp - 0x60], esi
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x64], al
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x54], eax
mov eax, dword [edi + 0x38]
mov word [ebp - 0x63], cx
mov byte [ebp - 0x61], cl
mov word [ebp - 0x4f], cx
mov byte [ebp - 0x4d], cl
lea edx, [esi + eax*2]
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x50], cl
mov ecx, esi
call fcn.1000bb40
mov edi, eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x4c], edi
mov ecx, dword [eax + 0x1c94]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000bb40
mov dword [ebp - 0x10c], eax
mov ecx, esi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x74]
mov edx, dword [eax + 0x1c98]
lea edx, [esi + edx*2]
call fcn.1000bb40
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x70]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x4c]
add esp, 4
cmp ecx, edi
je 0x1002102b
mov eax, dword [ebp - 0x5c]
mov esi, eax
lea edi, [ecx + eax]
xor eax, eax
mov dword [ebp - 0x8c], eax
nop word [eax + eax]
test edi, edi
je 0x10020fe8
cmp esi, edi
jae 0x10021020
cmp byte [esi], 0
je 0x10021020
push edi
mov edx, esi
lea ecx, [ebp - 0xb8]
call fcn.1000b810
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x1002101a
cmp eax, 0x10000
mov eax, dword [ebp - 0x8c]
jae 0x10020fe0
inc eax
jmp 0x10020fd4
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xd0]
mov dword [edi + 0x38], eax
jmp 0x10021031
mov edi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x10c]
je 0x10021093
add eax, dword [ebp - 0x5c]
xor ecx, ecx
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], ecx
test eax, eax
je 0x10021058
cmp esi, eax
jae 0x10021090
cmp byte [esi], 0
je 0x10021090
push eax
mov edx, esi
lea ecx, [ebp - 0xb8]
call fcn.1000b810
mov ecx, dword [ebp - 0x8c]
add esi, eax
mov eax, dword [ebp - 0xb8]
add esp, 4
test eax, eax
je 0x10021090
cmp eax, 0x10000
mov eax, dword [ebp - 0x98]
jae 0x10021050
inc ecx
jmp 0x1002104a
mov dword [edi + 0x3c], ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0xd8]
je 0x100210f5
add eax, dword [ebp - 0x5c]
xor ecx, ecx
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x8c], ecx
test eax, eax
je 0x100210ba
cmp esi, eax
jae 0x100210f2
cmp byte [esi], 0
je 0x100210f2
push eax
mov edx, esi
lea ecx, [ebp - 0xb8]
call fcn.1000b810
mov ecx, dword [ebp - 0x8c]
add esi, eax
mov eax, dword [ebp - 0xb8]
add esp, 4
test eax, eax
je 0x100210f2
cmp eax, 0x10000
mov eax, dword [ebp - 0x98]
jae 0x100210b2
inc ecx
jmp 0x100210ac
mov dword [edi + 0x40], ecx
cmp byte [ebp - 0x50], 0
je 0x10021122
mov edx, dword [edi + 4]
push 0
push ecx
push dword [ebp - 0x5c]
mov ecx, dword [edi + 0xc]
call fcn.1000b9a0
mov dword [edi + 0x2c], eax
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov dword [edi + 0x28], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov esi, dword [0x1006dc88]
cmp byte [ebp - 0xb0], 0
je 0x1002118f
mov ecx, dword [ebp - 0xa8]
mov eax, dword [edi + 0x24]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10021160
test dl, dl
je 0x1002115c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10021160
add eax, 2
add ecx, 2
test dl, dl
jne 0x10021140
xor eax, eax
jmp 0x10021165
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002118f
mov esi, dword [ebp - 0xa8]
push 0x20
push dword [edi + 0x24]
push esi
call dword [ebp - 0x104]
mov byte [esi + 0x1f], 0
add esp, 0xc
mov esi, dword [0x1006dc88]
mov byte [ebp - 0xb9], 1
cmp byte [ebp - 0x8d], 0
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x7c]
je 0x100211f4
cmp dword [edx + 0x1944], eax
jne 0x100211f4
mov ecx, dword [esi + 0x1944]
test ecx, ecx
setne al
mov byte [esi + 0x1951], al
test ecx, ecx
je 0x100211cc
mov dword [esi + 0x194c], 0
mov byte [esi + 0x1953], 0
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x1944], 0
mov dword [esi + 0x1958], 0
mov byte [esi + 0x1952], 0
mov dword [esi + 0x1964], 0
mov edx, dword [edx + 0x1944]
cmp edx, eax
jne 0x10021210
cmp byte [ebp - 0xb0], 0
je 0x10021210
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xa8], ecx
cmp byte [ebp - 0x9c], 0
movss xmm4, dword [0x10041f70]
jne 0x100213a4
push 1
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.100137c0
mov eax, dword [0x1006dc88]
xorps xmm3, xmm3
movss xmm6, dword [0x10041ed0]
add esp, 4
movups xmm2, xmmword [eax + 0x1610]
comiss xmm3, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x30], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x1508]
jbe 0x10021268
xorps xmm0, xmm0
jmp 0x1002126f
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm4, dword [0x10041f70]
movss xmm5, dword [0x10041eac]
movss xmm2, dword [ebp - 0x2c]
comiss xmm3, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si edx, xmm0
jbe 0x1002129a
xorps xmm0, xmm0
jmp 0x100212a1
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x28]
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or edx, eax
comiss xmm3, xmm2
jbe 0x100212c1
xorps xmm0, xmm0
jmp 0x100212c8
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or edx, eax
comiss xmm3, xmm1
jbe 0x100212e3
xorps xmm0, xmm0
jmp 0x100212ea
movaps xmm0, xmm6
minss xmm0, xmm1
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x74]
push dword [ebp - 0x38]
mulss xmm0, xmm4
push dword [ebp - 0x3c]
movss xmm2, dword [eax + 0x1544]
push dword [ebp - 0x40]
addss xmm0, xmm5
cvttss2si ecx, xmm0
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.10012d40
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movss xmm3, dword [ebp - 0x114]
movss xmm5, dword [ebp - 0x108]
movaps xmm0, xmm3
movss xmm6, dword [ebp - 0xd4]
movaps xmm2, xmm3
addss xmm0, dword [ecx + 0x153c]
movss xmm1, dword [ebp - 0xc4]
addss xmm2, xmm6
mov edx, dword [ecx + 0x1944]
addss xmm1, xmm5
movss xmm4, dword [0x10041f70]
mov esi, dword [0x1006dc88]
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm5
addss xmm0, dword [ecx + 0x1540]
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm5
movss dword [ebp - 0x10c], xmm2
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0xc0], xmm1
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x34], xmm0
jmp 0x10021414
movss xmm0, dword [ebp - 0x114]
movss xmm6, dword [ebp - 0xd4]
movaps xmm2, xmm0
movss xmm3, dword [ebp - 0x108]
addss xmm2, xmm6
movss xmm1, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xcc]
addss xmm1, xmm3
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm3
movaps xmm0, xmm2
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [ebp - 0x10c], xmm0
movss dword [ebp - 0x20], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x74]
movss dword [ebp - 0xc0], xmm0
movss dword [ebp - 0x1c], xmm0
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
movss dword [ebp - 0x104], xmm1
movss xmm0, dword [eax]
xorps xmm7, xmm7
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [eax + 4]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x7c]
movss dword [ebp - 0xa4], xmm0
movss dword [ebp - 0xe0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xc8], xmm2
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0x98], xmm7
cmp dword [edi], eax
jne 0x100214aa
cmp byte [ebp - 0x9c], 0
je 0x100214aa
mov eax, dword [ebp - 0xcc]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0x1c8]
mov eax, dword [eax + 0x1d0]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.1000b6f0
mov ecx, dword [ebp - 0x74]
add esp, 4
mov edx, dword [ecx + 0x1944]
cmp edx, eax
jne 0x100214aa
mov al, 1
jmp 0x100214ac
xor al, al
cmp edx, dword [ebp - 0x7c]
je 0x100218eb
test al, al
jne 0x100218eb
xor edx, edx
cmp byte [ebp - 0x9c], dl
je 0x10021534
mov edx, dword [ebp - 0xa8]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [ebp - 0x85], al
test al, al
je 0x100214fc
nop dword [eax]
cmp byte [ebp - 0x85], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [ebp - 0x85], al
test al, al
jne 0x100214e0
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x10021509
cmp al, 0xd
je 0x10021509
inc ecx
mov edi, dword [ebp - 0x74]
movaps xmm0, xmm6
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
movss xmm3, dword [edi + 0x1854]
mulss xmm5, xmm3
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0x98], xmm5
jmp 0x1002153f
movss xmm3, dword [ecx + 0x1854]
mov edi, dword [ebp - 0x74]
movups xmm2, xmmword [esi + 0x15a0]
mov eax, dword [ebp - 0xcc]
movss xmm6, dword [0x10041ed0]
comiss xmm7, xmm2
mov eax, dword [eax + 0x27c]
mov dword [ebp - 0xc4], eax
movaps xmm1, xmm2
movaps xmmword [ebp - 0x100], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [esi + 0x1508]
jbe 0x10021580
movaps xmm0, xmm7
jmp 0x10021587
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm5, dword [0x10041eac]
movss xmm2, dword [ebp - 0xfc]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x100215ad
movaps xmm0, xmm7
jmp 0x100215b4
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [ebp - 0xf8]
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x100215d7
movaps xmm0, xmm7
jmp 0x100215de
movaps xmm0, xmm6
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x100215f9
movaps xmm6, xmm7
jmp 0x100215fd
minss xmm6, xmm1
mulss xmm6, xmm4
mov dword [ebp - 0xb8], 0
addss xmm6, xmm5
cvttss2si eax, xmm6
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x1850]
cmp byte [ebp - 0x9c], 0
lea edi, [ebp - 0x28]
mov dword [ebp - 0x10c], eax
cmovne edi, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], ecx
test eax, 0xff000000
je 0x10021762
test edx, edx
jne 0x1002166d
mov ecx, dword [ebp - 0xa8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10021653
mov eax, dword [ebp - 0xa8]
sub ecx, edx
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0xc8]
jmp 0x10021673
mov eax, dword [ebp - 0xa8]
cmp eax, edx
je 0x10021762
mov esi, dword [ebp - 0xc4]
test ecx, ecx
jne 0x10021691
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], eax
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x100216a2
mov eax, dword [esi + 0x28]
movss xmm3, dword [eax + 0xc]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x44]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x100], xmm0
test edi, edi
je 0x1002171c
movss xmm1, dword [edi]
movss xmm0, dword [ebp - 0x100]
comiss xmm0, xmm1
jae 0x100216d4
movss dword [ebp - 0x100], xmm1
movss xmm1, dword [edi + 4]
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, xmm1
jae 0x100216ee
movss dword [ebp - 0xfc], xmm1
movss xmm0, dword [edi + 8]
comiss xmm0, dword [ebp - 0xf8]
ja 0x10021704
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [ebp - 0xf4]
ja 0x1002171a
movss dword [ebp - 0xf4], xmm0
test edi, edi
setne al
movaps xmm2, xmm3
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0x100]
mov dword [esp], 0
push edx
push dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x10c]
push dword [eax + 4]
push dword [eax]
push esi
call fcn.10031580
mov esi, dword [0x1006dc88]
xorps xmm7, xmm7
mov edi, dword [ebp - 0x74]
cmp byte [ebp - 0x9c], 0
je 0x1002180c
mov eax, dword [esi + 0x1928]
movss xmm2, dword [edi + 0x1854]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x1928]
cmp byte [eax + 0x7b], 0
jne 0x100217fc
movss xmm3, dword [ebp - 0xd8]
lea ecx, [ebp - 0x38]
addss xmm2, dword [ebp - 0x98]
movss xmm1, dword [eax + 0xc8]
addss xmm3, xmm7
movss xmm0, dword [eax + 0xcc]
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x24], xmm0
addss xmm2, xmm0
addss xmm3, xmm1
movss dword [ebp - 0x1c], xmm2
subss xmm2, xmm0
movss dword [ebp - 0x20], xmm3
subss xmm3, xmm1
movaps xmm1, xmm7
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x38], xmm3
call fcn.1000c930
push 0
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.1000d280
add esp, 4
call fcn.10014490
call fcn.10023c50
mov esi, dword [0x1006dc88]
mov eax, dword [ebp - 0x118]
test al, al
je 0x10021827
call fcn.1001a900
mov esi, dword [0x1006dc88]
mov eax, dword [ebp - 0x118]
cmp byte [edi + 0x2b8c], 0
je 0x10021850
test al, al
jne 0x10021850
mov edx, dword [ebp - 0xa8]
lea ecx, [ebp - 0xe4]
push 0
call fcn.10012390
mov esi, dword [0x1006dc88]
add esp, 4
movss xmm0, dword [ebp - 0x120]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100218b3
movss xmm0, dword [ebp - 0x11c]
xor edx, edx
addss xmm0, dword [edi + 0x1554]
mov ecx, 0x100374c4
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [edi + 0x1540]
movss dword [ebp - 0xe0], xmm0
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push 1
call fcn.100124b0
mov esi, dword [0x1006dc88]
add esp, 0xc
mov al, byte [ebp - 0xb9]
test al, al
je 0x100218c4
mov byte [esi + 0x1953], 1
test byte [ebp - 0xb4], 0x20
movzx ecx, byte [ebp - 0x91]
movzx eax, al
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10034b20
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movss xmm0, dword [ecx + 0x18]
or esi, 0xffffffff
mov ecx, dword [edi + 0xc]
xorps xmm6, xmm6
mov eax, dword [edi + 0x38]
xorps xmm4, xmm4
addss xmm0, dword [edi + 0xe5c]
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x7c], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xdc], eax
mov ecx, 1
mov eax, dword [edi + 0x40]
movss dword [edi + 0xe5c], xmm0
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0x84], 0xfffffc19
cmp edx, eax
je 0x1002195e
mov ecx, dword [ebp - 0x7c]
cmovl eax, edx
mov dword [ebp - 0x84], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x9c]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x100219df
mov esi, eax
cmp si, 0xa
jne 0x100219cb
mov eax, dword [ebp - 0xa0]
inc eax
cmp dword [ebp - 0xd0], 0xffffffff
mov dword [ebp - 0xa0], eax
jne 0x100219af
cmp edx, dword [ebp - 0xdc]
jb 0x100219af
dec ecx
mov dword [ebp - 0xd0], eax
test ecx, ecx
jle 0x100219d9
cmp dword [ebp - 0x84], 0xffffffff
jne 0x100219cb
cmp edx, dword [ebp - 0x8c]
jb 0x100219cb
dec ecx
mov dword [ebp - 0x84], eax
test ecx, ecx
jle 0x100219d9
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x10021980
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xa0]
inc eax
cmp esi, 0xffffffff
mov ecx, eax
mov dword [ebp - 0xa0], eax
cmovne ecx, esi
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0xb8], ecx
mov edx, esi
mov ecx, dword [ebp - 0x84]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x7c]
cmp esi, ecx
jbe 0x10021a2e
nop dword [eax + eax]
cmp word [edx - 2], 0xa
je 0x10021a2e
add edx, 0xfffffffe
cmp edx, ecx
ja 0x10021a20
mov ecx, dword [0x1006dc88]
movaps xmm1, xmm7
movaps xmm5, xmm7
mov eax, dword [ecx + 0x1850]
movss xmm3, dword [ecx + 0x1854]
mov dword [ebp - 0xd0], eax
divss xmm3, dword [eax]
cmp edx, esi
jae 0x10021a9f
mov ecx, eax
movzx eax, word [edx]
add edx, 2
mov esi, eax
cmp eax, 0xa
jne 0x10021a6e
maxss xmm1, xmm5
movaps xmm5, xmm7
jmp 0x10021a91
cmp esi, 0xd
je 0x10021a91
mov esi, eax
cmp esi, dword [ecx + 0x1c]
jge 0x10021a84
mov eax, dword [ecx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x10021a89
movss xmm0, dword [ecx + 0x38]
mulss xmm0, xmm3
addss xmm5, xmm0
cmp edx, dword [ebp - 0xdc]
jb 0x10021a58
mov ecx, dword [0x1006dc88]
cmp dword [ebp - 0x84], 0
maxss xmm5, xmm1
movd xmm0, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x74]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [edx + 0x1854]
mulss xmm0, xmm2
movss dword [ebp - 0x124], xmm5
movss dword [ebp - 0xb8], xmm0
jl 0x10021b71
mov esi, dword [ebp - 0x8c]
mov edx, esi
cmp esi, dword [ebp - 0x7c]
jbe 0x10021b04
mov ecx, dword [ebp - 0x7c]
nop word [eax + eax]
cmp word [edx - 2], 0xa
je 0x10021afe
add edx, 0xfffffffe
cmp edx, ecx
ja 0x10021af0
mov ecx, dword [0x1006dc88]
movaps xmm1, xmm7
movaps xmm4, xmm7
cmp edx, esi
jae 0x10021b5b
mov ecx, dword [ebp - 0xd0]
movzx eax, word [edx]
add edx, 2
cmp eax, 0xa
jne 0x10021b28
maxss xmm1, xmm4
movaps xmm4, xmm7
jmp 0x10021b51
cmp eax, 0xd
je 0x10021b51
mov esi, eax
cmp esi, dword [ecx + 0x1c]
jge 0x10021b3e
mov eax, dword [ecx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x10021b43
movss xmm0, dword [ecx + 0x38]
mov esi, dword [ebp - 0x8c]
mulss xmm0, xmm3
addss xmm4, xmm0
cmp edx, esi
jb 0x10021b14
mov ecx, dword [0x1006dc88]
movd xmm6, dword [ebp - 0x84]
maxss xmm4, xmm1
mov edx, dword [ebp - 0x74]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm2
cmp byte [ebp - 0x9c], 0
movss xmm3, dword [ebp - 0xd4]
je 0x10021ba4
movd xmm0, dword [ebp - 0xa0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x98], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xd8], xmm0
cmp byte [edi + 0xe60], 0
je 0x10021c75
test dword [ebp - 0xb4], 0x1000
jne 0x10021c04
movss xmm1, dword [edi + 0x34]
movaps xmm2, xmm3
comiss xmm1, xmm5
mulss xmm2, dword [0x10041e98]
jbe 0x10021be2
movaps xmm1, xmm5
movaps xmm0, xmm7
subss xmm1, xmm2
maxss xmm0, xmm1
jmp 0x10021bf2
movaps xmm0, xmm5
subss xmm0, xmm3
comiss xmm0, xmm1
jb 0x10021c0b
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x34], xmm0
jmp 0x10021c0b
mov dword [edi + 0x34], 0
cmp byte [ebp - 0x9c], 0
je 0x10021c75
movss xmm0, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
movaps xmm1, xmm0
subss xmm1, dword [edx + 0x1854]
movss xmm2, dword [eax + 0x58]
comiss xmm2, xmm1
jbe 0x10021c40
movaps xmm0, xmm7
maxss xmm0, xmm1
jmp 0x10021c4c
subss xmm0, dword [ebp - 0xc4]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x58], xmm0
addss xmm2, dword [eax + 0xcc]
movss dword [ebp - 0xa4], xmm2
movss dword [eax + 0xcc], xmm2
movss dword [ebp - 0xe0], xmm2
movss xmm5, dword [edi + 0x34]
mov edx, dword [edi + 0x40]
mov esi, dword [edi + 0x3c]
mov byte [edi + 0xe60], 0
movss dword [ebp - 0xd4], xmm5
cmp esi, edx
je 0x1002202a
mov eax, edx
cmovl eax, esi
mov esi, dword [ebp - 0x7c]
cmp dword [edi + 0x3c], edx
cmovge edx, dword [edi + 0x3c]
cmp byte [ebp - 0x9c], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x7c]
lea edx, [eax + edx*2]
mov dword [ebp - 0x84], edx
je 0x10021cd0
movss dword [ebp - 0x128], xmm7
movss dword [ebp - 0xc4], xmm7
jmp 0x10021ce0
movss xmm0, dword [0x10041eec]
movss dword [ebp - 0xc4], xmm0
movups xmm1, xmmword [ecx + 0x17f0]
comiss xmm7, xmm1
movaps xmm2, xmm1
movaps xmmword [ebp - 0x100], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [ecx + 0x1508]
jbe 0x10021d07
movaps xmm0, xmm7
jmp 0x10021d13
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
movss xmm3, dword [0x10041f70]
movss xmm1, dword [ebp - 0xfc]
comiss xmm7, xmm1
mulss xmm0, xmm3
addss xmm0, dword [0x10041eac]
cvttss2si eax, xmm0
mov dword [ebp - 0xa0], eax
jbe 0x10021d43
movaps xmm0, xmm7
jmp 0x10021d4f
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0xf8]
mulss xmm0, xmm3
addss xmm0, dword [0x10041eac]
cvttss2si eax, xmm0
shl eax, 8
or dword [ebp - 0xa0], eax
comiss xmm7, xmm1
jbe 0x10021d7a
movaps xmm0, xmm7
jmp 0x10021d86
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
movss xmm1, dword [0x10041eac]
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x10
or dword [ebp - 0xa0], eax
comiss xmm7, xmm2
jbe 0x10021dad
movaps xmm0, xmm7
jmp 0x10021db9
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm1
cvttss2si eax, xmm0
shl eax, 0x18
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xac]
movss xmm3, dword [eax]
addss xmm3, xmm4
movss xmm4, dword [ebp - 0xa4]
subss xmm3, xmm5
movaps xmm5, xmm4
addss xmm5, xmm6
subss xmm5, xmm7
movss dword [ebp - 0xdc], xmm5
cmp esi, edx
jae 0x10022074
movss xmm4, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x74]
movaps xmm0, xmm4
movss xmm6, dword [eax + 0x1854]
addss xmm0, xmm6
comiss xmm5, xmm0
ja 0x10022022
movss xmm0, dword [ebp - 0x108]
comiss xmm0, xmm5
jbe 0x10021e5a
cmp esi, edx
jae 0x10021fef
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10021fef
cmp esi, edx
jb 0x10021e41
jmp 0x10021fef
movaps xmm4, xmm7
mov edx, dword [ecx + 0x1850]
movaps xmm1, xmm7
movss xmm2, dword [ecx + 0x1854]
divss xmm2, dword [edx]
cmp esi, dword [ebp - 0x84]
jae 0x10021ec5
nop word [eax + eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x10021eb8
cmp eax, 0xd
je 0x10021eae
mov ecx, eax
cmp ecx, dword [edx + 0x1c]
jge 0x10021ea1
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x10021ea6
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0x84]
jb 0x10021e80
jmp 0x10021ec2
movaps xmm4, xmm7
maxss xmm4, xmm1
movaps xmm1, xmm7
mov eax, dword [ebp - 0x74]
maxss xmm1, xmm4
comiss xmm7, xmm1
jb 0x10021eff
mov eax, dword [eax + 0x1850]
cmp dword [eax + 0x1c], 0x20
jle 0x10021ee7
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10021eec
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10041eac]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x128]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0xc4]
subss xmm2, xmm6
movss xmm4, dword [ebp - 0xc0]
addss xmm0, xmm5
movss xmm6, dword [ebp - 0x10c]
addss xmm3, xmm7
minss xmm1, xmm6
addss xmm2, xmm5
minss xmm0, xmm4
maxss xmm3, dword [ebp - 0x114]
movss dword [ebp - 0xf8], xmm1
maxss xmm2, dword [ebp - 0x108]
comiss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x100], xmm3
movss dword [ebp - 0xfc], xmm2
movss dword [ebp - 0xf4], xmm0
jbe 0x10021fe9
comiss xmm4, xmm2
jbe 0x10021fe9
comiss xmm1, dword [ebp - 0x114]
jbe 0x10021fe9
comiss xmm6, xmm3
jbe 0x10021fe9
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xf8]
push dword [ebp - 0xd0]
push eax
lea eax, [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x27c]
call fcn.1002eff0
movss xmm0, dword [ebp - 0xc8]
xorps xmm7, xmm7
movss xmm5, dword [ebp - 0xdc]
movss xmm4, dword [ebp - 0xc0]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x104], xmm0
mov edx, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xac]
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0x74]
subss xmm3, dword [ebp - 0xd4]
addss xmm5, dword [ecx + 0x1854]
mov ecx, dword [0x1006dc88]
movss dword [ebp - 0xdc], xmm5
cmp esi, edx
jb 0x10021e11
movss xmm5, dword [ebp - 0xd4]
movss xmm4, dword [ebp - 0xa4]
movups xmm1, xmmword [ecx + 0x15a0]
mov eax, dword [ebp - 0xcc]
mov esi, dword [edi + 0x28]
add esi, dword [ebp - 0xa8]
movaps xmm2, xmm1
comiss xmm7, xmm1
mov eax, dword [eax + 0x27c]
mov dword [ebp - 0x8c], eax
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [ecx + 0x1508]
movaps xmmword [ebp - 0x100], xmm1
jbe 0x1002207e
movaps xmm0, xmm7
jmp 0x1002208a
movss xmm5, dword [ebp - 0xd4]
jmp 0x10022032
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
movss xmm3, dword [0x10041f70]
movss xmm6, dword [0x10041eac]
movss xmm1, dword [ebp - 0xfc]
comiss xmm7, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x100220b8
movaps xmm0, xmm7
jmp 0x100220c4
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0xf8]
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm1
jbe 0x100220e7
movaps xmm0, xmm7
jmp 0x100220f3
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm2
jbe 0x1002210e
movaps xmm0, xmm7
jmp 0x1002211a
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm2
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0x28]
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edi, xmm0
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x74]
subss xmm0, xmm5
shl edi, 0x18
or edi, ecx
xor ecx, ecx
cmp byte [ebp - 0x9c], cl
movss xmm2, dword [eax + 0x1854]
mov eax, dword [eax + 0x1850]
cmovne edx, ecx
movss dword [ebp - 0x110], xmm0
movaps xmm0, xmm4
mov dword [ebp - 0xc4], eax
subss xmm0, xmm7
movss dword [ebp - 0x10c], xmm0
test edi, 0xff000000
je 0x10022298
test esi, esi
jne 0x100221a7
mov ecx, dword [ebp - 0xa8]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022190
mov eax, dword [ebp - 0xc4]
sub ecx, esi
mov esi, dword [ebp - 0xa8]
add esi, ecx
cmp dword [ebp - 0xa8], esi
je 0x10022298
mov ecx, dword [ebp - 0x8c]
test eax, eax
jne 0x100221c9
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xc4], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100221da
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x100], xmm0
test edx, edx
je 0x1002225a
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x100]
comiss xmm0, xmm1
jae 0x10022212
movss dword [ebp - 0x100], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, xmm1
jae 0x1002222c
movss dword [ebp - 0xfc], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xf8]
ja 0x10022242
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xf4]
ja 0x10022258
movss dword [ebp - 0xf4], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xc4]
lea eax, [ebp - 0x100]
mov dword [esp], 0
push esi
push dword [ebp - 0xa8]
push eax
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x8c]
call fcn.10031580
xorps xmm7, xmm7
mov edi, dword [ebp - 0x74]
cmp byte [edi + 0xbd], 0
je 0x100222f0
movss xmm0, dword [edi + 0x2ab4]
comiss xmm7, xmm0
jae 0x100222f0
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x110], xmm0
fld qword [ebp - 0x110]
fld qword [0x10041ee0]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10041ec4]
fstp qword [ebp - 0x110]
movsd xmm1, qword [ebp - 0x110]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100222f0
xor al, al
jmp 0x100222f2
mov al, 1
movss xmm2, dword [ebp - 0xa4]
xorps xmm7, xmm7
mov ecx, dword [ebp - 0xac]
movss xmm6, dword [0x10041eac]
movss xmm4, dword [0x10041ed0]
addss xmm2, dword [ebp - 0xb8]
movss xmm5, dword [ecx]
addss xmm5, dword [ebp - 0x124]
subss xmm2, xmm7
subss xmm5, dword [ebp - 0xd4]
movss dword [ebp - 0xa4], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
movss dword [ebp - 0x124], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x28], xmm5
addss xmm1, xmm4
subss xmm0, dword [edi + 0x1854]
subss xmm3, dword [0x10041ed8]
movss dword [ebp - 0x20], xmm1
addss xmm0, xmm6
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x24], xmm0
test al, al
je 0x100224d5
comiss xmm3, dword [ebp - 0x108]
jbe 0x100224d5
movss xmm4, dword [ebp - 0x104]
comiss xmm4, xmm0
jbe 0x100224cd
comiss xmm1, dword [ebp - 0x114]
jbe 0x100224cd
movss xmm0, dword [ebp - 0xc8]
comiss xmm0, xmm5
jbe 0x100224cd
mov esi, dword [0x1006dc88]
movups xmm2, xmmword [esi + 0x15a0]
comiss xmm7, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x100], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [esi + 0x1508]
jbe 0x100223e9
xorps xmm0, xmm0
jmp 0x100223f5
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm2
movss xmm4, dword [0x10041f70]
movss xmm2, dword [ebp - 0xfc]
comiss xmm7, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x1002241b
xorps xmm0, xmm0
jmp 0x10022427
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0xf8]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm7, xmm2
jbe 0x1002244a
xorps xmm0, xmm0
jmp 0x10022456
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm7, xmm1
jbe 0x10022471
xorps xmm0, xmm0
jmp 0x1002247d
movss xmm0, dword [0x10041ed0]
minss xmm0, xmm1
mulss xmm0, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0x38], xmm5
addss xmm0, xmm6
movss dword [ebp - 0x34], xmm3
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x27c]
call fcn.1002eda0
movss xmm2, dword [ebp - 0xa4]
xorps xmm7, xmm7
movss xmm5, dword [ebp - 0x124]
movss xmm4, dword [0x10041ed0]
cmp byte [ebp - 0xb0], 0
mov esi, dword [0x1006dc88]
je 0x10021765
subss xmm2, dword [edi + 0x1854]
subss xmm5, xmm4
movss dword [edi + 0x2b54], xmm2
movss dword [edi + 0x2b50], xmm5
jmp 0x10021765