Function at 0x10020e10
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, 0x118
mov eax, dword [0x100d1400]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x100d1ec8]
mov dword [ebp - 0x100], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x68], ecx
mov eax, dword [ecx + 0x1804]
mov byte [eax + 0x8e], 1
mov edi, dword [ecx + 0x1804]
mov dword [ebp - 0x94], edi
cmp byte [edi + 0x90], 0
jne 0x1002126b
mov eax, dword [ebx + 0x10]
mov edx, eax
shr edx, 0xe
mov ecx, eax
not dl
shr ecx, 0x14
and edx, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0x98], edx
mov edx, eax
shr eax, 0x10
shr edx, 0xf
not al
and edx, 0xffffff01
mov dword [ebp - 0x8c], ecx
and eax, 0xffffff01
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xac], eax
test cl, cl
je 0x10020ecc
call fcn.1002a820
mov esi, dword [0x100d1ec8]
mov ecx, dword [edi + 0x1a4]
xor edx, edx
mov eax, dword [edi + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x100]
call fcn.10011540
add esp, 4
mov dword [ebp - 0x84], eax
cmp dword [esi + 0x1824], eax
jne 0x10020f01
mov byte [esi + 0x1830], 1
mov eax, dword [ebp - 0x100]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10020f26
nop
mov dl, byte [ecx]
test dl, dl
je 0x10020f26
cmp dl, 0x23
jne 0x10020f20
cmp byte [ecx + 1], dl
je 0x10020f26
inc ecx
cmp ecx, 0xffffffff
jb 0x10020f10
movss xmm0, dword [esi + 0x1734]
movss xmm1, dword [0x100c2754]
mov edi, dword [esi + 0x1730]
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x110], xmm1
cmp eax, ecx
jne 0x10020f5d
xorps xmm5, xmm5
movss dword [ebp - 0x10c], xmm5
jmp 0x10020fc4
movss xmm3, dword [0x100c273c]
movaps xmm2, xmm0
push ecx
push ecx
push eax
push ecx
lea eax, [ebp - 0xbc]
mov dword [esp], 0xbf800000
push eax
mov ecx, edi
call fcn.100385b0
movss xmm1, dword [ebp - 0xbc]
xorps xmm5, xmm5
comiss xmm1, xmm5
jbe 0x10020fa1
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x100c2434]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0xb8]
cmp byte [ebp - 0x8c], 0
mov eax, dword [ebx + 0xc]
movss xmm7, dword [eax]
movss xmm6, dword [eax + 4]
movss dword [ebp - 0xb0], xmm7
movss dword [ebp - 0xa4], xmm6
je 0x10020ff9
movss xmm0, dword [esi + 0x1734]
mulss xmm0, dword [0x100c2630]
mov eax, dword [ebp - 0x68]
mov edi, dword [esi + 0x1804]
movss xmm3, dword [eax + 0x1424]
movss xmm2, dword [edi + 0x144]
addss xmm3, xmm3
comiss xmm5, xmm2
addss xmm3, xmm0
jbe 0x10021088
movss xmm4, dword [edi + 0xd8]
mov ecx, dword [edi + 0x1a0]
movss xmm1, dword [edi + 0x4c]
subss xmm4, dword [edi + 0x14]
test ecx, ecx
je 0x10021074
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [edi + 0x1a0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [edi + 0x54]
subss xmm1, xmm4
addss xmm1, xmm2
movss xmm2, dword [0x100c2444]
maxss xmm2, xmm1
comiss xmm5, xmm7
cvttss2si eax, xmm2
xorps xmm2, xmm2
xorps xmm1, xmm1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
ja 0x100210a3
comiss xmm5, xmm6
jbe 0x100210fd
mov ecx, dword [edi + 0x1a0]
movss xmm1, dword [edi + 0x4c]
movss xmm2, dword [edi + 0x50]
test ecx, ecx
je 0x100210f0
mov edx, dword [ecx + 0xc]
movss xmm0, dword [ecx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [edi + 0x1a0]
movss xmm1, dword [edx + 0x18]
mov eax, dword [edx + 0x34]
subss xmm1, xmm0
mulss xmm1, dword [eax + ecx*4]
addss xmm1, xmm0
subss xmm1, dword [edi + 0x54]
addss xmm1, dword [edi + 0x14]
addss xmm2, dword [edi + 0x18]
lea eax, [edi + 0x14]
comiss xmm5, xmm7
movss xmm0, dword [0x100c2608]
jb 0x1002113d
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x10021120
movaps xmm7, xmm4
movss dword [ebp - 0xb0], xmm7
jmp 0x1002113d
mov eax, edi
subss xmm1, dword [eax + 0xd8]
maxss xmm1, xmm0
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [ebp - 0xb0], xmm1
comiss xmm5, xmm6
jb 0x10021175
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x10021158
movaps xmm6, xmm3
movss dword [ebp - 0xa4], xmm6
jmp 0x10021175
mov eax, edi
subss xmm2, dword [eax + 0xdc]
maxss xmm2, xmm0
addss xmm2, xmm6
movaps xmm6, xmm2
movss dword [ebp - 0xa4], xmm2
mov esi, dword [ebp - 0x94]
movss xmm1, dword [ebp - 0x10c]
comiss xmm1, xmm5
mov edi, dword [ebp - 0x68]
movss xmm3, dword [esi + 0xd8]
movss xmm4, dword [esi + 0xdc]
movaps xmm0, xmm3
movaps xmm2, xmm4
movss dword [ebp - 0xf0], xmm3
addss xmm0, xmm7
movss dword [ebp - 0xdc], xmm4
addss xmm2, xmm6
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x1c], xmm4
movss dword [ebp - 0x108], xmm0
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x14], xmm2
jbe 0x100211df
addss xmm1, dword [edi + 0x1438]
jmp 0x100211e2
xorps xmm1, xmm1
cmp byte [ebp - 0x8c], 0
addss xmm0, xmm1
movaps xmm1, xmm2
movss dword [ebp - 0x30], xmm3
addss xmm1, xmm5
movss dword [ebp - 0x2c], xmm4
mov dword [ebp - 0xa0], esi
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm1
je 0x100212b9
movss xmm0, dword [ebp - 0x108]
subss xmm2, xmm4
subss xmm0, xmm3
push ecx
mov ecx, dword [ebp - 0x84]
lea edx, [ebp - 0xbc]
movss dword [ebp - 0xb8], xmm2
movss dword [ebp - 0xbc], xmm0
call fcn.100170a0
add esp, 4
test al, al
jne 0x10021280
call fcn.10016fa0
mov ecx, 3
call fcn.1001bc40
mov ecx, 1
call fcn.1001bbf0
call fcn.1002a930
xor al, al
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a635
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x100d1ec8]
movss xmm7, dword [ebp - 0xb0]
mov eax, dword [ecx + 0x1804]
mov byte [eax + 0x8e], 1
mov eax, dword [ecx + 0x1804]
mov dword [ebp - 0xa0], eax
subss xmm7, dword [eax + 0x84]
movss dword [ebp - 0xb0], xmm7
jmp 0x100212fa
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0xbc]
movss dword [ebp - 0xb8], xmm1
movss xmm1, dword [edi + 0x1424]
movss dword [ebp - 0xbc], xmm0
call fcn.10012c80
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x30]
call fcn.10012da0
test al, al
je 0x1002126b
mov edx, dword [ebp - 0x84]
lea ecx, [ebp - 0x20]
call fcn.10012ed0
mov byte [ebp - 0x7e], al
test al, al
je 0x10021319
mov dword [edi + 0x1988], 1
cmp byte [ebp - 0xfc], 0
je 0x100213b3
mov esi, dword [edi + 0x1730]
cmp dword [esi + 0x28], 0x2a
jle 0x1002134e
mov eax, dword [esi + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
je 0x1002134e
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x18]
lea edi, [eax + ecx*8]
jmp 0x10021351
mov edi, dword [esi + 0x34]
mov eax, dword [esi]
mov edx, dword [ebp - 0x68]
add edx, 0x26c8
mov dword [edx], eax
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x68]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x1730]
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 + 0x1730]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x1730]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x1730]
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.1001ba10
mov esi, dword [ebp - 0x94]
mov edi, dword [ebp - 0x68]
mov ecx, esi
mov edx, dword [ebp - 0x84]
add edi, 0x19f4
test dword [ebx + 0x10], 0x440
mov dword [ebp - 0x6c], edi
sete al
movzx eax, al
push eax
call fcn.10013050
add esp, 4
mov byte [ebp - 0x76], al
test al, al
je 0x10021468
mov ecx, dword [esi + 0x244]
cmp ecx, dword [esi + 0x24c]
jne 0x10021468
mov byte [ebp - 0x75], 1
mov byte [ebp - 0x7d], 0
cmp byte [ebp - 0x7e], 0
mov ecx, dword [ebp - 0x68]
je 0x10021414
cmp byte [ecx + 0x374], 0
mov byte [ebp - 0x6d], 1
jne 0x10021418
mov byte [ebp - 0x6d], 0
cmp byte [ebp - 0x8c], 0
je 0x1002147a
cmp dword [ecx + 0x1824], 0
jne 0x1002147a
mov eax, dword [ebp - 0x84]
cmp dword [edi], eax
jne 0x1002147a
mov eax, dword [ebp - 0xa0]
xor edx, edx
mov ecx, dword [eax + 0x1a4]
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10011540
mov ecx, dword [ebp - 0x68]
add esp, 4
cmp dword [ecx + 0x1828], eax
jne 0x1002147a
mov al, 1
jmp 0x1002147c
mov byte [ebp - 0x75], 0
test al, al
je 0x100213fa
mov byte [ebp - 0x7d], 1
mov byte [ebp - 0x75], 0
jmp 0x100213fe
xor al, al
mov ecx, dword [ecx + 0x1824]
mov edx, dword [ebp - 0x84]
mov byte [ebp - 0x7f], 0
cmp ecx, edx
je 0x1002149d
test byte [ebx + 0x10], 0x10
mov byte [ebp - 0x88], 1
jne 0x100214a4
mov byte [ebp - 0x88], 0
cmp byte [ebp - 0x76], 0
mov dword [ebp - 0x114], 1
jne 0x100214d6
cmp byte [ebp - 0x6d], 0
jne 0x100214d6
test al, al
jne 0x100214d6
mov esi, dword [ebp - 0x68]
cmp byte [esi + 0x374], al
je 0x10021736
mov byte [ebp - 0x7f], 1
jmp 0x10021736
cmp ecx, edx
je 0x100216df
mov eax, dword [edi + 0x2c]
mov esi, dword [ebx + 8]
mov dword [ebp - 0xf4], eax
inc esi
lea eax, [edi + 4]
mov edi, dword [eax + 4]
mov dword [ebp - 0x7c], eax
cmp esi, edi
jle 0x10021521
test edi, edi
je 0x10021509
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1002150e
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.1002c0a0
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x6c]
mov dword [eax], esi
lea eax, [edx + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x7c], eax
cmp esi, edi
jle 0x1002155f
test edi, edi
je 0x10021544
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10021549
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.1002bfb0
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x6c]
mov dword [eax], esi
mov edi, dword [edx + 0x18]
cmp esi, 1
jb 0x10021581
push esi
push dword [ebp - 0x90]
push edi
call fcn.1008ac50
mov edx, dword [ebp - 0x6c]
add esp, 0xc
mov byte [esi + edi - 1], 0
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov eax, dword [edx + 4]
mov edi, dword [ebp - 0x90]
dec eax
mov dword [ebp - 0xe4], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xa8], eax
cmp ecx, eax
jae 0x100215e4
cmp byte [edi], 0
je 0x100215db
push 0
mov edx, edi
lea ecx, [ebp - 0xc4]
call fcn.10011660
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100215db
cmp eax, 0x10000
jae 0x100215d3
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xa8]
jb 0x100215a3
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x6c]
sub edi, dword [ebp - 0x90]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x84]
mov dword [edx + 0x28], edi
mov edi, dword [ebp - 0x6c]
sar esi, 1
mov dword [edx + 0x2c], esi
mov dword [edi + 0xccc], 0xbe99999a
cmp dword [edi], eax
jne 0x10021642
cmp dword [ebp - 0xf4], esi
jne 0x10021642
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 [ebp - 0x8c]
mov dword [edi + 0x40], esi
jmp 0x100216ac
mov ecx, dword [ebp - 0x8c]
mov dword [edi], eax
mov al, cl
mov dword [edi + 0x34], 0
xor al, 1
mov dword [edi + 0xcc2], 0x630000
mov dword [edi + 0xcc6], 0x3e70000
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 cl, cl
jne 0x100216ac
mov edx, dword [ebp - 0x88]
cmp byte [ebp - 0x75], cl
movzx edx, dl
cmovne edx, dword [ebp - 0x114]
mov dword [ebp - 0x88], edx
test dword [ebx + 0x10], 0x2000
je 0x100216b9
mov byte [edi + 0x44], 1
test cl, cl
jne 0x100216d9
cmp byte [ebp - 0x7d], cl
jne 0x100216d2
cmp byte [ebp - 0x6d], cl
je 0x100216d9
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xe9], cl
je 0x100216d9
mov byte [ebp - 0x88], 1
mov esi, dword [ebp - 0x94]
mov edx, dword [0x100d1ec8]
mov ecx, dword [edx + 0x1824]
cmp ecx, dword [ebp - 0x84]
setne al
mov byte [edx + 0x1831], al
mov eax, dword [ebp - 0x84]
cmp ecx, eax
je 0x1002170e
mov dword [edx + 0x182c], 0
test eax, eax
mov dword [edx + 0x1824], eax
mov ecx, esi
mov byte [edx + 0x1832], 0
setne al
mov dword [edx + 0x183c], esi
or byte [edx + 0x1830], al
call fcn.1001b8e0
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x84]
mov byte [ebp - 0x99], 0
mov byte [ebp - 0x7d], 0
cmp dword [esi + 0x1824], eax
jne 0x10021ac2
cmp byte [ebp - 0x98], 0
jne 0x10021846
cmp byte [esi + 0x1831], 0
jne 0x10021846
mov esi, dword [ebx + 8]
lea eax, [edi + 4]
mov edi, dword [eax + 4]
inc esi
mov dword [ebp - 0x7c], eax
cmp esi, edi
jle 0x100217a7
test edi, edi
je 0x1002178f
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10021794
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.1002c0a0
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x90]
mov dword [eax], esi
mov eax, dword [ebx + 8]
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov dword [ebp - 0x7c], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10021809
cmp byte [edi], 0
je 0x10021806
push 0
mov edx, edi
lea ecx, [ebp - 0xc4]
call fcn.10011660
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x10021803
cmp eax, 0x10000
jae 0x100217f4
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebx + 8]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x100217c4
jmp 0x10021806
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x6c]
sub edi, dword [ebp - 0x90]
xor eax, eax
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [edx + 0x28], edi
mov ecx, esi
mov edi, dword [ebp - 0x6c]
mov dword [edx + 0x2c], esi
cmp dword [edi + 0x38], 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 dword [edi + 0x40], esi
mov esi, dword [ebp - 0x68]
mov eax, dword [ebx + 8]
mov dword [edi + 0x30], eax
cmp byte [esi + 0xd8], 0
mov dword [esi + 0x2994], 1
sete al
cmp byte [ebp - 0x8c], 0
mov byte [esi + 0x1832], al
movss xmm1, dword [esi + 0xd0]
subss xmm1, dword [ebp - 0xf0]
subss xmm1, dword [esi + 0x1420]
addss xmm1, dword [edi + 0x34]
je 0x100218ac
mov eax, dword [ebp - 0xa0]
movss xmm2, dword [esi + 0xd4]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [esi + 0x1424]
jmp 0x100218bc
movss xmm2, dword [esi + 0x1734]
mulss xmm2, dword [0x100c23f8]
cmp byte [ebp - 0x88], 0
mov al, byte [esi + 0xac]
jne 0x100219e7
mov cl, byte [ebp - 0x7e]
test cl, cl
je 0x100218e6
test al, al
jne 0x1002192b
cmp byte [esi + 0x379], al
jne 0x100219e7
cmp byte [esi + 0x374], 0
je 0x10021982
cmp byte [edi + 0xcd1], 0
jne 0x10021982
test cl, cl
je 0x10021a02
mov ecx, edi
call fcn.1001f820
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x10021a02
cmp byte [esi + 0x379], 0
je 0x100218e6
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.1001fc00
add esp, 4
mov byte [edi + 0xcd0], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xccc], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.1001fc00
mov esi, dword [ebp - 0x68]
add esp, 4
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
jmp 0x10021a02
cmp byte [esi + 0xd8], 0
je 0x10021a02
cmp byte [edi + 0xcd1], 0
jne 0x10021a0b
movss xmm0, dword [esi + 0x328]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x100219b9
movss xmm0, dword [esi + 0x32c]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10021a02
mov ecx, edi
call fcn.1001f820
mov ecx, dword [edi + 0x3c]
cmp ecx, dword [edi + 0x40]
jne 0x100219ce
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xccc], 0xbe99999a
mov byte [edi + 0xcd0], 1
jmp 0x10021a02
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 + 0xcd1], 1
cmp byte [edi + 0xcd1], 0
je 0x10021a1b
cmp byte [esi + 0xd8], 0
jne 0x10021a1b
mov byte [edi + 0xcd1], 0
add esi, 0x2ee
cmp word [esi], 0
je 0x10021abf
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xe9], 0
je 0x10021a40
cmp byte [eax + 0xeb], 0
je 0x10021aa0
cmp byte [ebp - 0x98], 0
je 0x10021aa0
xor edi, edi
nop dword [eax + eax]
movzx eax, word [esi]
test ax, ax
je 0x10021aa0
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0x7c]
sub esp, 8
mov dword [ebp - 0x7c], eax
call fcn.10020c90
add esp, 8
test al, al
je 0x10021a97
mov eax, dword [ebp - 0x6c]
mov ecx, eax
push dword [ebp - 0x7c]
lea edx, [eax + 0x38]
call fcn.1001fc00
mov eax, dword [ebp - 0x6c]
add esp, 4
mov byte [eax + 0xcd0], 1
mov dword [eax + 0xccc], 0xbe99999a
inc edi
add esi, 2
cmp edi, 0x11
jl 0x10021a50
mov esi, dword [ebp - 0x68]
xorps xmm0, xmm0
movups xmmword [esi + 0x2ee], xmm0
movups xmmword [esi + 0x2fe], xmm0
mov word [esi + 0x30e], 0
jmp 0x10021ac2
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x84]
xor al, al
mov byte [ebp - 0x61], al
cmp dword [esi + 0x1824], ecx
jne 0x10022e81
cmp byte [esi + 0x1831], al
jne 0x10022e81
cmp byte [ebp - 0x7f], al
jne 0x10022e81
mov cl, byte [esi + 0xea]
xor eax, eax
test cl, cl
mov edx, 0x20000
cmovne eax, edx
mov dl, byte [esi + 0xac]
mov dword [ebp - 0x88], eax
test dl, dl
je 0x10021bb7
cmp byte [esi + 0xec], 0
je 0x10021b2d
cmp byte [esi + 0xe9], 0
jne 0x10021b2d
mov eax, 1
jmp 0x10021b2f
xor eax, eax
test eax, eax
jne 0x10021bd1
xor ah, ah
mov byte [ebp - 0x75], ah
test dl, dl
je 0x10021bed
cmp byte [esi + 0xec], 0
mov al, byte [esi + 0xeb]
mov byte [ebp - 0x6d], al
je 0x10021bf6
cmp byte [esi + 0xe9], 0
mov byte [ebp - 0x6d], al
jne 0x10021bf6
mov byte [ebp - 0x6d], al
test al, al
jne 0x10021bf6
mov cl, byte [esi + 0xe9]
mov byte [ebp - 0x6e], 1
mov byte [ebp - 0x6d], al
xor dl, dl
cmp byte [esi + 0xea], dl
je 0x10021c41
test cl, cl
jne 0x10021c41
cmp byte [esi + 0xeb], cl
jne 0x10021c41
cmp byte [esi + 0xec], cl
jne 0x10021c41
mov dh, 1
jmp 0x10021c43
cmp byte [esi + 0xe9], 0
je 0x10021b37
cmp byte [esi + 0xec], 0
jne 0x10021b37
cmp byte [esi + 0xeb], 0
jne 0x10021b37
test cl, cl
jne 0x10021b37
mov ah, 1
jmp 0x10021b39
mov al, byte [esi + 0xe9]
mov byte [ebp - 0x6d], al
mov cl, byte [esi + 0xe9]
mov byte [ebp - 0x6e], 0
test cl, cl
je 0x10021b82
cmp byte [esi + 0xea], 0
mov byte [ebp - 0x6e], 0
jne 0x10021b82
cmp byte [esi + 0xeb], 0
mov byte [ebp - 0x6e], 0
jne 0x10021b82
cmp byte [esi + 0xec], 0
mov byte [ebp - 0x6e], 0
jne 0x10021b82
mov dl, 1
mov byte [ebp - 0x6e], 0
xor dh, dh
mov edi, dword [0x100d1ec8]
xorps xmm4, xmm4
test ah, ah
je 0x10021ce6
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x10021ce6
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021c75
mov al, 1
jmp 0x10021cde
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10021cdc
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021c99
mov eax, 1
test eax, eax
setg al
jmp 0x10021cde
comiss xmm2, xmm1
jae 0x10021cd3
comiss xmm4, xmm3
jae 0x10021cd3
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10021cde
xor eax, eax
test eax, eax
setg al
jmp 0x10021cde
xor al, al
test al, al
jne 0x10021d7c
test dh, dh
je 0x10021da8
mov eax, dword [edi + 0x50]
test eax, eax
js 0x10021da8
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021d0f
mov al, 1
jmp 0x10021d78
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10021d76
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021d33
mov eax, 1
test eax, eax
setg al
jmp 0x10021d78
comiss xmm2, xmm1
jae 0x10021d6d
comiss xmm4, xmm3
jae 0x10021d6d
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10021d78
xor eax, eax
test eax, eax
setg al
jmp 0x10021d78
xor al, al
test al, al
je 0x10021da8
cmp byte [ebp - 0x98], 0
mov esi, dword [ebp - 0x6c]
je 0x10021dab
cmp byte [ebp - 0xfc], 0
jne 0x10021dab
cmp byte [ebp - 0x8c], 0
je 0x10021da2
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10021dab
mov byte [ebp - 0x7e], 1
jmp 0x10021daf
mov esi, dword [ebp - 0x6c]
mov byte [ebp - 0x7e], 0
cmp byte [ebp - 0x75], 0
je 0x10021e4b
mov eax, dword [edi + 0x64]
test eax, eax
js 0x10021e4b
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021dda
mov al, 1
jmp 0x10021e43
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10021e41
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021dfe
mov eax, 1
test eax, eax
setg al
jmp 0x10021e43
comiss xmm2, xmm1
jae 0x10021e38
comiss xmm4, xmm3
jae 0x10021e38
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10021e43
xor eax, eax
test eax, eax
setg al
jmp 0x10021e43
xor al, al
test al, al
jne 0x10021ee1
test dl, dl
je 0x10021f01
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x10021f01
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021e74
mov al, 1
jmp 0x10021edd
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10021edb
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021e98
mov eax, 1
test eax, eax
setg al
jmp 0x10021edd
comiss xmm2, xmm1
jae 0x10021ed2
comiss xmm4, xmm3
jae 0x10021ed2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10021edd
xor eax, eax
test eax, eax
setg al
jmp 0x10021edd
xor al, al
test al, al
je 0x10021f01
cmp byte [ebp - 0xfc], 0
jne 0x10021f01
cmp byte [ebp - 0x8c], 0
je 0x10021efb
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10021f01
mov byte [ebp - 0x76], 1
jmp 0x10021f05
mov byte [ebp - 0x76], 0
cmp byte [ebp - 0x75], 0
je 0x10021fa1
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10021fa1
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021f30
mov al, 1
jmp 0x10021f99
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10021f97
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021f54
mov eax, 1
test eax, eax
setg al
jmp 0x10021f99
comiss xmm2, xmm1
jae 0x10021f8e
comiss xmm4, xmm3
jae 0x10021f8e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10021f99
xor eax, eax
test eax, eax
setg al
jmp 0x10021f99
xor al, al
test al, al
jne 0x10022037
test dh, dh
je 0x10022044
mov eax, dword [edi + 0x4c]
test eax, eax
js 0x10022044
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021fca
mov al, 1
jmp 0x10022033
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022031
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10021fee
mov eax, 1
test eax, eax
setg al
jmp 0x10022033
comiss xmm2, xmm1
jae 0x10022028
comiss xmm4, xmm3
jae 0x10022028
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022033
xor eax, eax
test eax, eax
setg al
jmp 0x10022033
xor al, al
test al, al
je 0x10022044
cmp byte [ebp - 0x98], 0
je 0x10022044
mov dl, 1
jmp 0x10022046
xor dl, dl
mov eax, dword [edi + 0x2c]
test eax, eax
js 0x1002211c
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022067
mov al, 1
jmp 0x100220d0
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x100220ce
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002208b
mov eax, 1
test eax, eax
setg al
jmp 0x100220d0
comiss xmm2, xmm1
jae 0x100220c5
comiss xmm4, xmm3
jae 0x100220c5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x100220d0
xor eax, eax
test eax, eax
setg al
jmp 0x100220d0
xor al, al
test al, al
je 0x1002211c
cmp byte [ebp - 0x6e], 0
je 0x100220e1
mov eax, 0x10004
jmp 0x100220f2
mov eax, 0x10000
mov ecx, 0x1000c
cmp byte [ebp - 0x6d], 0
cmovne eax, ecx
or eax, dword [ebp - 0x88]
push eax
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1001fc00
add esp, 4
mov byte [esi + 0xcd0], 1
mov dword [esi + 0xccc], 0xbe99999a
jmp 0x10022e18
mov eax, dword [edi + 0x30]
test eax, eax
js 0x100221c7
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002213d
mov al, 1
jmp 0x100221a6
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x100221a4
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022161
mov eax, 1
test eax, eax
setg al
jmp 0x100221a6
comiss xmm2, xmm1
jae 0x1002219b
comiss xmm4, xmm3
jae 0x1002219b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x100221a6
xor eax, eax
test eax, eax
setg al
jmp 0x100221a6
xor al, al
test al, al
je 0x100221c7
cmp byte [ebp - 0x6e], 0
je 0x100221ba
mov eax, 0x10005
jmp 0x100220f2
mov eax, 0x10001
lea ecx, [eax + 0xc]
jmp 0x100220eb
mov eax, dword [edi + 0x34]
test eax, eax
js 0x100222b2
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100221e8
mov al, 1
jmp 0x10022251
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1002224f
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002220c
mov eax, 1
test eax, eax
setg al
jmp 0x10022251
comiss xmm2, xmm1
jae 0x10022246
comiss xmm4, xmm3
jae 0x10022246
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022251
xor eax, eax
test eax, eax
setg al
jmp 0x10022251
xor al, al
test al, al
je 0x100222b2
cmp byte [ebp - 0x8c], 0
je 0x100222b2
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xe9], 0
je 0x100222a2
mov edi, dword [ebp - 0xa0]
movss xmm1, dword [edi + 0x6c]
movaps xmm0, xmm1
subss xmm0, dword [eax + 0x1734]
addss xmm1, dword [edi + 0xf4]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edi + 0x6c], xmm0
movss dword [edi + 0xf4], xmm1
jmp 0x10022e18
movzx eax, byte [ebp - 0x6e]
lea eax, [eax*4 + 0x10002]
jmp 0x100220f2
mov eax, dword [edi + 0x38]
test eax, eax
js 0x100223cb
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100222d3
mov al, 1
jmp 0x1002233c
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1002233a
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100222f7
mov eax, 1
test eax, eax
setg al
jmp 0x1002233c
comiss xmm2, xmm1
jae 0x10022331
comiss xmm4, xmm3
jae 0x10022331
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1002233c
xor eax, eax
test eax, eax
setg al
jmp 0x1002233c
xor al, al
test al, al
je 0x100223cb
cmp byte [ebp - 0x8c], 0
je 0x100223cb
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xe9], 0
je 0x100223bb
mov eax, dword [edi + 0x1804]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x68]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [eax + 0x88]
movss xmm1, dword [eax + 0x38]
movss xmm3, dword [edx + 0x6c]
movaps xmm2, xmm3
addss xmm2, dword [ecx + 0x1734]
addss xmm3, dword [edx + 0xf4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x6c], xmm2
movss dword [edx + 0xf4], xmm3
jmp 0x10022e1b
movzx eax, byte [ebp - 0x6e]
lea eax, [eax*4 + 0x10003]
jmp 0x100220f2
mov eax, dword [edi + 0x44]
test eax, eax
js 0x1002247f
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100223ec
mov al, 1
jmp 0x10022455
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022453
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022410
mov eax, 1
test eax, eax
setg al
jmp 0x10022455
comiss xmm2, xmm1
jae 0x1002244a
comiss xmm4, xmm3
jae 0x1002244a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022455
xor eax, eax
test eax, eax
setg al
jmp 0x10022455
xor al, al
test al, al
je 0x1002247f
mov ecx, dword [ebp - 0x88]
mov eax, ecx
mov edx, dword [ebp - 0x68]
or eax, 0x10006
or ecx, 0x10004
cmp byte [edx + 0xe9], 0
cmovne ecx, eax
push ecx
jmp 0x100220f9
mov eax, dword [edi + 0x48]
test eax, eax
js 0x10022533
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100224a0
mov al, 1
jmp 0x10022509
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022507
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100224c4
mov eax, 1
test eax, eax
setg al
jmp 0x10022509
comiss xmm2, xmm1
jae 0x100224fe
comiss xmm4, xmm3
jae 0x100224fe
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022509
xor eax, eax
test eax, eax
setg al
jmp 0x10022509
xor al, al
test al, al
je 0x10022533
mov ecx, dword [ebp - 0x88]
mov eax, ecx
mov edx, dword [ebp - 0x68]
or eax, 0x10007
or ecx, 0x10005
cmp byte [edx + 0xe9], 0
cmovne ecx, eax
push ecx
jmp 0x100220f9
mov eax, dword [edi + 0x50]
test eax, eax
js 0x100225dc
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022554
mov al, 1
jmp 0x100225bd
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x100225bb
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022578
mov eax, 1
test eax, eax
setg al
jmp 0x100225bd
comiss xmm2, xmm1
jae 0x100225b2
comiss xmm4, xmm3
jae 0x100225b2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x100225bd
xor eax, eax
test eax, eax
setg al
jmp 0x100225bd
xor al, al
test al, al
je 0x100225dc
cmp byte [ebp - 0x98], 0
je 0x100225dc
mov ecx, dword [ebp - 0x88]
or ecx, 0x10008
push ecx
jmp 0x100220f9
mov eax, dword [edi + 0x54]
test eax, eax
js 0x100226e8
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100225fd
mov al, 1
jmp 0x10022666
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022664
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022621
mov eax, 1
test eax, eax
setg al
jmp 0x10022666
comiss xmm2, xmm1
jae 0x1002265b
comiss xmm4, xmm3
jae 0x1002265b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022666
xor eax, eax
test eax, eax
setg al
jmp 0x10022666
xor al, al
test al, al
je 0x100226e8
cmp byte [ebp - 0x98], 0
je 0x100226e8
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x100226d6
cmp byte [ebp - 0x6d], 0
je 0x1002268c
push 0x3000c
jmp 0x100226b8
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xac], 0
je 0x100226d6
cmp byte [eax + 0xec], 0
je 0x100226d6
cmp byte [eax + 0xeb], 0
jne 0x100226d6
cmp byte [eax + 0xe9], 0
jne 0x100226d6
push 0x30004
lea edx, [esi + 0x38]
mov ecx, esi
call fcn.1001fc00
mov dword [esi + 0xccc], 0xbe99999a
add esp, 4
mov byte [esi + 0xcd0], 1
mov ecx, dword [ebp - 0x88]
or ecx, 0x10009
push ecx
jmp 0x100220f9
mov eax, dword [edi + 0x58]
test eax, eax
js 0x100227dd
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022709
mov al, 1
jmp 0x10022772
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022770
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002272d
mov eax, 1
test eax, eax
setg al
jmp 0x10022772
comiss xmm2, xmm1
jae 0x10022767
comiss xmm4, xmm3
jae 0x10022767
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022772
xor eax, eax
test eax, eax
setg al
jmp 0x10022772
xor al, al
test al, al
je 0x100227dd
mov edx, dword [ebx + 0x10]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x8c], 0
je 0x1002279a
mov ecx, dword [ebp - 0x68]
mov cl, byte [ecx + 0xe9]
test al, al
je 0x100227a7
test cl, cl
jne 0x100227ab
mov byte [ebp - 0x7f], 1
mov byte [ebp - 0x7d], 1
jmp 0x10022e18
test cl, cl
jne 0x1002279a
cmp byte [ebp - 0x98], 0
je 0x10022e18
mov dword [ebp - 0x7c], 0xa
sub esp, 8
lea ecx, [ebp - 0x7c]
call fcn.10020c90
add esp, 8
test al, al
je 0x10022e15
push dword [ebp - 0x7c]
jmp 0x100220f9
mov ecx, dword [ebx + 0x10]
test ecx, 0x400
je 0x100228b2
mov eax, dword [edi + 0x28]
test eax, eax
js 0x100228b2
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002280d
mov al, 1
jmp 0x10022879
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022877
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022831
mov eax, 1
test eax, eax
setg al
jmp 0x10022879
comiss xmm2, xmm1
jae 0x1002286e
comiss xmm4, xmm3
jae 0x1002286e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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 [ebx + 0x10]
test eax, eax
setg al
jmp 0x10022879
xor eax, eax
test eax, eax
setg al
jmp 0x10022879
xor al, al
test al, al
je 0x100228b2
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0xe9], 0
jne 0x100228b2
cmp byte [eax + 0xea], 0
jne 0x100228b2
cmp byte [eax + 0xeb], 0
jne 0x100228b2
cmp byte [ebp - 0x98], 0
je 0x100228b2
mov dword [ebp - 0x7c], 9
mov edx, ecx
jmp 0x100227bf
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x1002294d
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100228d3
mov al, 1
jmp 0x1002293c
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x1002293a
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100228f7
mov eax, 1
test eax, eax
setg al
jmp 0x1002293c
comiss xmm2, xmm1
jae 0x10022931
comiss xmm4, xmm3
jae 0x10022931
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x1002293c
xor eax, eax
test eax, eax
setg al
jmp 0x1002293c
xor al, al
test al, al
je 0x1002294d
mov ecx, dword [ebp - 0x68]
mov al, 1
mov byte [ebp - 0x7f], al
jmp 0x10022e1e
cmp byte [ebp - 0x75], 0
je 0x10022b85
mov eax, dword [edi + 0x74]
test eax, eax
js 0x10022a2d
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022978
mov al, 1
jmp 0x100229e1
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x100229df
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002299c
mov eax, 1
test eax, eax
setg al
jmp 0x100229e1
comiss xmm2, xmm1
jae 0x100229d6
comiss xmm4, xmm3
jae 0x100229d6
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x100229e1
xor eax, eax
test eax, eax
setg al
jmp 0x100229e1
xor al, al
test al, al
je 0x10022a2d
cmp byte [ebp - 0x98], 0
je 0x10022a2d
cmp byte [ebp - 0xac], 0
je 0x10022a2d
push 0x1000a
mov edi, dword [ebp - 0x6c]
lea edx, [esi + 0x38]
mov ecx, edi
call fcn.1001fc00
mov eax, dword [esi + 0x38]
add esp, 4
mov esi, edi
mov byte [edi + 0xcd0], 1
mov dword [edi + 0xccc], 0xbe99999a
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
jmp 0x10022e18
mov eax, dword [edi + 0x70]
test eax, eax
js 0x10022ad7
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022a4e
mov al, 1
jmp 0x10022ab7
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022ab5
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022a72
mov eax, 1
test eax, eax
setg al
jmp 0x10022ab7
comiss xmm2, xmm1
jae 0x10022aac
comiss xmm4, xmm3
jae 0x10022aac
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022ab7
xor eax, eax
test eax, eax
setg al
jmp 0x10022ab7
xor al, al
test al, al
je 0x10022ad7
cmp byte [ebp - 0x98], 0
je 0x10022ad7
cmp byte [ebp - 0xac], 0
je 0x10022ad7
push 0x1000b
jmp 0x100229fc
mov eax, dword [edi + 0x60]
test eax, eax
js 0x10022b85
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022af8
mov al, 1
jmp 0x10022b61
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022b5f
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022b1c
mov eax, 1
test eax, eax
setg al
jmp 0x10022b61
comiss xmm2, xmm1
jae 0x10022b56
comiss xmm4, xmm3
jae 0x10022b56
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x10022b61
xor eax, eax
test eax, eax
setg al
jmp 0x10022b61
xor al, al
test al, al
je 0x10022b85
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xcd0], 1
jmp 0x10022e18
cmp byte [ebp - 0x7e], 0
jne 0x10022d1d
cmp byte [ebp - 0x76], 0
jne 0x10022d1d
test dl, dl
je 0x10022e18
mov eax, dword [edi + 0xb4]
test eax, eax
je 0x10022bc8
push dword [edi + 0xbc]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10022e15
mov edi, dword [0x100d1ec8]
jmp 0x10022bcd
mov esi, 0x100b2d29
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10022bd2
inc dword [edi + 0x318]
sub edx, ecx
mov ecx, dword [edi + 0xc0]
lea eax, [edx*2 + 2]
push eax
call ecx
add esp, 4
mov ecx, eax
xor edi, edi
mov dword [ebp - 0x74], ecx
cmp byte [esi], 0
je 0x10022c54
push 0
mov edx, esi
lea ecx, [ebp - 0xb4]
call fcn.10011660
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x10022c51
cmp eax, 0x10000
jae 0x10022c4c
mov edx, dword [ebx + 0x10]
lea ecx, [ebp - 0xb4]
sub esp, 8
call fcn.10020c90
add esp, 8
test al, al
je 0x10022c4c
mov ecx, dword [ebp - 0x74]
mov ax, word [ebp - 0xb4]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10022c00
mov ecx, dword [ebp - 0x74]
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x10022cfa
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x40]
lea esi, [eax + 0x38]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x2c]
cmp ecx, edx
je 0x10022c8d
cmp ecx, eax
jle 0x10022c7e
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x10022c87
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x10022c8d
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x10022c93
mov dword [esi], eax
mov ecx, dword [ebp - 0x6c]
mov edx, esi
call fcn.1001fb70
mov edx, dword [esi]
mov ecx, dword [ebp - 0x6c]
push edi
push dword [ebp - 0x74]
call fcn.1001f770
add esp, 8
test al, al
je 0x10022cd7
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.10020940
mov ecx, dword [ebp - 0x74]
add esp, 8
add dword [esi], edi
mov byte [esi + 0xf], 0
mov esi, dword [ebp - 0x6c]
mov byte [esi + 0xcd0], 1
jmp 0x10022cfd
movzx eax, word [esi + 0xc8a]
test ax, ax
je 0x10022ceb
dec eax
mov word [esi + 0xc8a], ax
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
mov byte [esi + 0xcd0], 1
jmp 0x10022cfd
mov esi, dword [ebp - 0x6c]
mov eax, dword [0x100d1ec8]
test ecx, ecx
je 0x10022d0c
dec dword [eax + 0x318]
mov eax, dword [eax + 0xc4]
push ecx
call eax
add esp, 4
jmp 0x10022e18
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0xb8], 0
je 0x10022dd5
mov edx, dword [ebp - 0x6c]
mov esi, dword [esi + 0x40]
mov eax, dword [edx + 0x3c]
cmp eax, esi
je 0x10022d44
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x10022d49
mov esi, dword [edx + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0xac], ecx
sub eax, ecx
add edx, 0x1c
mov dword [ebp - 0x7c], edx
lea edi, [eax*4 + 1]
mov eax, dword [edx + 4]
cmp edi, eax
jle 0x10022d91
test eax, eax
je 0x10022d7a
cdq
sub eax, edx
mov edx, dword [ebp - 0x7c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10022d7f
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1002bfb0
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
mov dword [edx], edi
mov edx, edi
mov ecx, dword [eax + 0xc]
lea eax, [ecx + esi*2]
mov esi, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0xac]
lea eax, [ecx + eax*2]
mov ecx, dword [esi + 0x24]
push eax
call fcn.100117f0
mov edi, dword [0x100d1ec8]
add esp, 8
mov eax, dword [edi + 0xb8]
test eax, eax
je 0x10022dd5
push dword [esi + 0x24]
push dword [edi + 0xbc]
call eax
add esp, 8
cmp byte [ebp - 0x7e], 0
je 0x10022e18
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
jne 0x10022df7
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xcd0], 1
mov eax, dword [esi + 0x3c]
cmp eax, dword [esi + 0x40]
je 0x10022e15
mov ecx, dword [ebp - 0x6c]
lea edx, [esi + 0x38]
call fcn.1001fb70
mov byte [esi + 0x47], 0
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov al, byte [ebp - 0x61]
mov edx, dword [ebp - 0x84]
cmp dword [ecx + 0x1824], edx
jne 0x100233af
test al, al
je 0x10022e89
cmp byte [ebp - 0x98], 0
je 0x10022e69
mov edi, dword [ebx + 8]
cmp edi, 1
jb 0x10022e62
push edi
push dword [esi + 0x18]
push dword [ebp - 0x90]
call fcn.1008ac50
mov eax, dword [ebp - 0x90]
add esp, 0xc
mov byte [eax + edi - 1], 0
mov byte [ebp - 0x99], 1
cmp byte [ebp - 0x7d], 0
je 0x100233af
mov ecx, dword [ebx + 0x10]
test cl, 0x20
je 0x100233af
jmp 0x10022e8c
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
jmp 0x10022e1e
mov ecx, dword [ebx + 0x10]
cmp byte [ebp - 0x98], 0
je 0x10022eed
mov edi, dword [esi + 0x20]
lea eax, [esi + 0x1c]
mov esi, dword [esi + 4]
shl esi, 2
mov dword [ebp - 0x7c], eax
cmp esi, edi
jle 0x10022ed1
test edi, edi
je 0x10022eb9
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10022ebe
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.1002bfb0
mov eax, dword [ebp - 0x7c]
mov dword [eax], esi
mov edx, esi
mov eax, dword [ebp - 0x6c]
mov esi, eax
push 0
push dword [eax + 0xc]
mov ecx, dword [esi + 0x24]
call fcn.100117f0
mov ecx, dword [ebx + 0x10]
add esp, 8
test ecx, 0x1c0
je 0x1002334d
mov edi, dword [0x100d1ec8]
xor edx, edx
xorps xmm4, xmm4
lea esi, [edx + 0x14]
test cl, 0x40
je 0x10022fad
mov eax, dword [edi + 0x28]
test eax, eax
js 0x10022fad
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022f31
mov al, 1
jmp 0x10022f9d
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10022f9b
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022f55
mov eax, 1
test eax, eax
setg al
jmp 0x10022f9d
comiss xmm2, xmm1
jae 0x10022f92
comiss xmm4, xmm3
jae 0x10022f92
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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 [ebx + 0x10]
test eax, eax
setg al
jmp 0x10022f9d
xor eax, eax
test eax, eax
setg al
jmp 0x10022f9d
xor al, al
test al, al
je 0x10022fad
mov edx, 0x40
xor esi, esi
jmp 0x100230fc
test cl, cl
jns 0x100230ee
mov eax, dword [edi + 0x34]
test eax, eax
js 0x10023053
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022fd6
mov al, 1
jmp 0x10023042
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x10023040
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10022ffa
mov eax, 1
test eax, eax
setg al
jmp 0x10023042
comiss xmm2, xmm1
jae 0x10023037
comiss xmm4, xmm3
jae 0x10023037
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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 [ebx + 0x10]
test eax, eax
setg al
jmp 0x10023042
xor eax, eax
test eax, eax
setg al
jmp 0x10023042
xor al, al
test al, al
je 0x10023053
mov edx, 0x80
lea esi, [edx - 0x7d]
jmp 0x100230fc
mov eax, dword [edi + 0x38]
test eax, eax
js 0x100230ee
movss xmm1, dword [edi + eax*4 + 0x3ec]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10023074
mov al, 1
jmp 0x100230dd
movss xmm2, dword [edi + 0x78]
comiss xmm1, xmm2
jbe 0x100230db
movss xmm3, dword [edi + 0x7c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10023098
mov eax, 1
test eax, eax
setg al
jmp 0x100230dd
comiss xmm2, xmm1
jae 0x100230d2
comiss xmm4, xmm3
jae 0x100230d2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0xc]
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
test eax, eax
setg al
jmp 0x100230dd
xor eax, eax
test eax, eax
setg al
jmp 0x100230dd
xor al, al
mov ecx, dword [ebx + 0x10]
test al, al
je 0x100230ee
mov edx, 0x80
lea esi, [edx - 0x7c]
jmp 0x100230fc
test ecx, 0x100
mov eax, pe_nt_image_headers32
cmovne edx, eax
test edx, edx
je 0x1002334a
xor eax, eax
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x6c]
mov word [ebp - 0x53], ax
mov byte [ebp - 0x51], al
mov word [ebp - 0x3f], ax
mov byte [ebp - 0x3d], al
mov dword [ebp - 0x58], eax
mov al, byte [ebp - 0x98]
xor al, 1
mov dword [ebp - 0x50], esi
mov esi, dword [ecx + 0xc]
mov byte [ebp - 0x54], al
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x44], eax
mov eax, dword [ecx + 0x38]
mov ecx, esi
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x40], 0
lea edx, [esi + eax*2]
call fcn.10011920
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x3c], edi
mov ecx, dword [eax + 0x3c]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10011920
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10011920
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x60]
push eax
xor eax, eax
call eax
mov edx, dword [ebp - 0x3c]
add esp, 4
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x94], ecx
cmp edx, edi
je 0x100231f8
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x74], eax
test edi, edi
je 0x100231b8
cmp esi, edi
jae 0x100231ea
cmp byte [esi], 0
je 0x100231ea
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.10011660
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100231e7
cmp eax, 0x10000
mov eax, dword [ebp - 0x74]
jae 0x100231b0
inc eax
jmp 0x100231ad
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
mov dword [esi + 0x38], eax
jmp 0x100231fb
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0xa8]
je 0x10023256
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x74], eax
test edi, edi
je 0x10023218
cmp esi, edi
jae 0x1002324a
cmp byte [esi], 0
je 0x1002324a
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.10011660
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x10023247
cmp eax, 0x10000
mov eax, dword [ebp - 0x74]
jae 0x10023210
inc eax
jmp 0x1002320d
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0xe4]
je 0x100232b6
lea edi, [eax + ecx]
mov esi, ecx
xor eax, eax
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
test edi, edi
je 0x10023278
cmp esi, edi
jae 0x100232aa
cmp byte [esi], 0
je 0x100232aa
push edi
mov edx, esi
lea ecx, [ebp - 0xc4]
call fcn.10011660
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x100232a7
cmp eax, 0x10000
mov eax, dword [ebp - 0x74]
jae 0x10023270
inc eax
jmp 0x10023268
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
mov dword [esi + 0x40], eax
cmp byte [ebp - 0x40], 0
je 0x1002334d
mov eax, dword [ebp - 0x6c]
mov edx, dword [esi + 0xc]
mov esi, edx
mov dword [ebp - 0xa8], edx
mov edi, dword [eax + 4]
dec edi
lea edi, [edx + edi*2]
cmp edx, edi
jae 0x10023326
nop dword [eax]
cmp byte [ecx], 0
je 0x10023320
mov edx, ecx
lea ecx, [ebp - 0xc4]
push 0
call fcn.10011660
mov ecx, dword [ebp - 0x94]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x94], ecx
test eax, eax
je 0x10023320
cmp eax, 0x10000
jae 0x1002331c
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x100232e0
mov edx, dword [ebp - 0xa8]
xor eax, eax
mov word [esi], ax
sub esi, edx
mov eax, dword [ebp - 0x6c]
sar esi, 1
mov dword [eax + 0x2c], esi
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x48]
mov dword [esi + 0x28], eax
mov dword [esi + 0xccc], 0xbe99999a
jmp 0x1002334d
mov esi, dword [ebp - 0x6c]
cmp byte [ebp - 0x98], 0
je 0x100233af
mov esi, dword [esi + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0x90]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10023381
test dl, dl
je 0x1002337d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10023381
add eax, 2
add ecx, 2
test dl, dl
jne 0x10023361
xor eax, eax
jmp 0x10023386
sbb eax, eax
or eax, 1
test eax, eax
je 0x100233af
mov edi, dword [ebx + 8]
cmp edi, 1
jb 0x100233a8
push edi
push esi
mov esi, dword [ebp - 0x90]
push esi
call fcn.1008ac50
add esp, 0xc
mov byte [esi + edi - 1], 0
mov byte [ebp - 0x99], 1
cmp byte [ebp - 0x7f], 0
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x84]
je 0x10023406
cmp dword [esi + 0x1824], edi
jne 0x10023425
mov edx, dword [0x100d1ec8]
mov ecx, dword [edx + 0x1824]
test ecx, ecx
setne al
mov byte [edx + 0x1831], al
test ecx, ecx
je 0x100233eb
mov dword [edx + 0x182c], 0
mov dword [edx + 0x1824], 0
mov byte [edx + 0x1832], 0
mov dword [edx + 0x183c], 0
cmp dword [esi + 0x1824], edi
jne 0x10023425
cmp byte [ebp - 0x98], 0
je 0x10023425
mov esi, dword [ebp - 0x6c]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x90], eax
jmp 0x10023428
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x8c]
test cl, cl
jne 0x100234e4
push dword [ebp - 0x14]
movss xmm1, dword [0x100c2444]
mov ecx, 7
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.100119a0
mov ecx, dword [ebp - 0x68]
mov dl, 1
movss xmm2, dword [ecx + 0x1428]
mov ecx, eax
call fcn.10016180
movss xmm3, dword [ebp - 0xf0]
add esp, 0x10
movss xmm7, dword [ebp - 0xdc]
movaps xmm1, xmm3
movss xmm4, dword [ebp - 0xb0]
movaps xmm6, xmm3
movss xmm0, dword [ebp - 0xa4]
addss xmm1, xmm4
mov eax, dword [ebp - 0x68]
addss xmm0, xmm7
mov ecx, dword [ebp - 0x8c]
movaps xmm5, xmm7
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x2c], xmm7
addss xmm6, dword [eax + 0x1420]
addss xmm5, dword [eax + 0x1424]
mov eax, dword [ebp - 0xa0]
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0xc4], xmm1
movss dword [ebp - 0xa8], xmm0
jmp 0x1002354e
movss xmm0, dword [ebp - 0xf0]
movss xmm4, dword [ebp - 0xb0]
movss xmm1, dword [ebp - 0xdc]
movaps xmm2, xmm4
mov eax, dword [ebp - 0xa0]
addss xmm2, xmm0
movss dword [ebp - 0x2c], xmm1
addss xmm1, dword [ebp - 0xa4]
movss dword [ebp - 0x30], xmm0
movss xmm6, dword [eax + 0xd8]
movss xmm5, dword [eax + 0xdc]
movaps xmm0, xmm2
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0x28], xmm0
movaps xmm0, xmm1
movss dword [ebp - 0xc4], xmm2
movss dword [ebp - 0xa8], xmm1
movss dword [ebp - 0xe4], xmm5
movss dword [ebp - 0x84], xmm5
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0xd8], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xb8], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0xe8], xmm6
movss dword [ebp - 0x94], xmm6
movss dword [ebp - 0xbc], xmm6
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0x7c], xmm5
cmp dword [esi], edi
jne 0x100235d4
test cl, cl
je 0x100235d4
mov ecx, dword [eax + 0x1a4]
xor edx, edx
mov eax, dword [eax + 0x1ac]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10011540
mov esi, dword [ebp - 0x68]
add esp, 4
cmp dword [esi + 0x1824], eax
jne 0x100235d7
mov dh, 1
jmp 0x100235d9
mov esi, dword [ebp - 0x68]
xor dh, dh
mov eax, dword [ebp - 0x100]
mov ecx, str.FileContent
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10023604
test dl, dl
je 0x10023600
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10023604
add eax, 2
add ecx, 2
test dl, dl
jne 0x100235e4
xor eax, eax
jmp 0x10023609
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002361a
cmp dword [esi + 0x1824], edi
setne byte [0x100d3816]
cmp dword [esi + 0x1824], edi
je 0x10023967
test dh, dh
jne 0x10023967
xor edx, edx
cmp byte [ebp - 0x8c], dl
je 0x1002368f
mov edx, dword [ebp - 0x90]
xor ecx, ecx
mov al, byte [edx]
inc edx
mov byte [ebp - 0x76], al
test al, al
je 0x10023666
nop word [eax + eax]
cmp byte [ebp - 0x76], 0xa
lea eax, [ecx + 1]
cmovne eax, ecx
mov ecx, eax
mov al, byte [edx]
inc edx
mov byte [ebp - 0x76], al
test al, al
jne 0x10023650
mov al, byte [edx - 1]
dec edx
cmp al, 0xa
je 0x10023673
cmp al, 0xd
je 0x10023673
inc ecx
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0xac], xmm4
mulss xmm7, dword [esi + 0x1734]
movss dword [ebp - 0x7c], xmm7
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
movss xmm1, dword [0x100c2444]
mov edi, dword [eax + 0x234]
call fcn.100119a0
mov ecx, dword [esi + 0x1730]
movss xmm2, dword [esi + 0x1734]
lea esi, [ebp - 0x30]
cmp byte [ebp - 0x8c], 0
mov dword [ebp - 0xc4], 0
cmovne esi, dword [ebp - 0xc4]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x74], ecx
test eax, 0xff000000
je 0x100237df
test edx, edx
jne 0x1002370b
mov ecx, dword [ebp - 0x90]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100236f4
mov eax, dword [ebp - 0x90]
sub ecx, edx
lea edx, [eax + ecx]
mov ecx, dword [ebp - 0x74]
jmp 0x10023711
mov eax, dword [ebp - 0x90]
cmp eax, edx
je 0x100237df
test ecx, ecx
jne 0x10023726
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x74], eax
ucomiss xmm2, dword [0x100c235c]
lahf
test ah, 0x44
jp 0x1002373b
mov eax, dword [edi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0xd0], xmm0
test esi, esi
je 0x100237a7
movss xmm0, dword [ebp - 0xd0]
maxss xmm0, dword [esi]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0xcc]
maxss xmm0, dword [esi + 4]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [ebp - 0xc8]
minss xmm0, dword [esi + 8]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0xc4]
minss xmm0, dword [esi + 0xc]
movss dword [ebp - 0xc4], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0xd0]
mov dword [esp], 0
push edx
push dword [ebp - 0x90]
push eax
push dword [ebp - 0xa8]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push edi
call fcn.10038760
mov esi, dword [ebp - 0x68]
cmp byte [ebp - 0x8c], 0
je 0x100238ab
mov ecx, dword [0x100d1ec8]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0x7c]
addss xmm4, dword [esi + 0x1734]
movss xmm3, dword [ebp - 0xac]
mov eax, dword [ecx + 0x1804]
addss xmm3, xmm5
mov byte [eax + 0x8e], 1
mov eax, dword [ecx + 0x1804]
cmp byte [eax + 0x90], 0
jne 0x1002388c
movss xmm1, dword [eax + 0xdc]
lea ecx, [ebp - 0xc8]
movss xmm2, dword [eax + 0xd8]
movaps xmm0, xmm1
addss xmm3, xmm2
movss dword [ebp - 0x1c], xmm1
addss xmm0, xmm4
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm3
subss xmm3, xmm2
movss dword [ebp - 0x14], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0xc8], xmm3
movss dword [ebp - 0xc4], xmm0
call fcn.10012c80
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.10012da0
call fcn.10016fa0
mov ecx, 3
call fcn.1001bc40
mov ecx, dword [ebp - 0x114]
call fcn.1001bbf0
call fcn.1002a930
mov eax, dword [ebp - 0xfc]
test al, al
je 0x100238c0
call fcn.1001bb30
mov eax, dword [ebp - 0xfc]
cmp byte [esi + 0x2790], 0
je 0x100238e3
test al, al
jne 0x100238e3
mov edx, dword [ebp - 0x90]
lea ecx, [ebp - 0xbc]
push 0
call fcn.10015ba0
add esp, 4
movss xmm0, dword [ebp - 0x10c]
comiss xmm0, dword [0x100c235c]
jbe 0x10023942
movss xmm0, dword [ebp - 0x108]
xor edx, edx
addss xmm0, dword [esi + 0x1438]
mov ecx, dword [ebp - 0x100]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [esi + 0x1424]
movss dword [ebp - 0xb8], xmm0
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push 1
call fcn.10015cd0
add esp, 0xc
test byte [ebx + 0x10], 0x20
movzx ecx, byte [ebp - 0x7d]
movzx eax, byte [ebp - 0x99]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1007a635
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x6c]
or edi, 0xffffffff
movss xmm0, dword [esi + 0xc]
movaps xmm7, xmm5
movss dword [ebp - 0x104], xmm5
mov ecx, 1
mov dword [ebp - 0xd4], 0
mov esi, dword [edx + 0xc]
mov eax, dword [edx + 0x38]
addss xmm0, dword [edx + 0xccc]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x88], 0xfffffc19
lea eax, [esi + eax*2]
mov dword [ebp - 0xec], eax
mov eax, dword [edx + 0x40]
movss dword [edx + 0xccc], xmm0
mov edx, dword [edx + 0x3c]
cmp edx, eax
je 0x100239d9
cmovl eax, edx
mov dword [ebp - 0x88], edi
mov ecx, 2
lea eax, [esi + eax*2]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x8c]
xor esi, esi
movzx eax, al
add ecx, eax
mov dword [ebp - 0xb4], esi
mov eax, dword [ebp - 0x74]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x10023a57
mov esi, eax
nop dword [eax + eax]
cmp si, 0xa
jne 0x10023a43
mov esi, dword [ebp - 0xb4]
inc esi
mov dword [ebp - 0xb4], esi
cmp edi, 0xffffffff
jne 0x10023a27
cmp edx, dword [ebp - 0xec]
jb 0x10023a27
dec ecx
mov edi, esi
test ecx, ecx
jle 0x10023a57
cmp dword [ebp - 0x88], 0xffffffff
jne 0x10023a43
cmp edx, dword [ebp - 0xd4]
jb 0x10023a43
dec ecx
mov dword [ebp - 0x88], esi
test ecx, ecx
jle 0x10023a57
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x10023a00
mov esi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x74]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0xb4], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
mov ecx, edi
mov eax, dword [ebp - 0x88]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0x88], eax
cmp edi, edx
jbe 0x10023a9e
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10023a9e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10023a90
mov eax, dword [0x100d1ec8]
movaps xmm4, xmm5
movss dword [ebp - 0xec], xmm4
movaps xmm1, xmm5
mov esi, dword [eax + 0x1730]
movss xmm2, dword [eax + 0x1734]
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x10023b1f
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10023add
maxss xmm4, xmm1
movaps xmm1, xmm5
jmp 0x10023b00
cmp edx, 0xd
je 0x10023b00
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10023af3
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10023af8
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10023ac7
comiss xmm1, xmm4
mov edx, dword [ebp - 0x74]
movss dword [ebp - 0xec], xmm4
jbe 0x10023b1f
movaps xmm4, xmm1
movss dword [ebp - 0xec], xmm4
cmp dword [ebp - 0x88], 0
movd xmm3, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x68]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x1734]
mulss xmm3, xmm0
movss dword [ebp - 0xe4], xmm3
jl 0x10023bff
mov edi, dword [ebp - 0xd4]
mov ecx, edi
cmp edi, edx
jbe 0x10023b6e
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x10023b6e
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10023b60
mov eax, dword [0x100d1ec8]
movaps xmm1, xmm5
mov esi, dword [eax + 0x1730]
movss xmm2, dword [eax + 0x1734]
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x10023bd5
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10023ba6
maxss xmm7, xmm1
movaps xmm1, xmm5
jmp 0x10023bc9
cmp edx, 0xd
je 0x10023bc9
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x10023bbc
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x10023bc1
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10023b90
comiss xmm1, xmm7
jbe 0x10023bd5
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x68]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x1734]
mulss xmm3, xmm0
movss dword [ebp - 0x104], xmm3
movss xmm3, dword [ebp - 0xe4]
cmp byte [ebp - 0x8c], 0
movss xmm1, dword [ebp - 0xb0]
je 0x10023c32
movd xmm5, dword [ebp - 0xb4]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movaps xmm0, xmm1
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0x7c], xmm5
xorps xmm5, xmm5
mov edx, dword [ebp - 0x6c]
cmp byte [edx + 0xcd0], 0
je 0x10023cff
test dword [ebx + 0x10], 0x1000
jne 0x10023c93
movss xmm2, dword [edx + 0x34]
movaps xmm0, xmm1
comiss xmm2, xmm4
mulss xmm0, dword [0x100c23d0]
movaps xmm1, xmm4
jbe 0x10023c70
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x10023c81
subss xmm1, dword [ebp - 0xb0]
comiss xmm1, xmm2
jb 0x10023c9a
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x34], xmm0
jmp 0x10023c9a
mov dword [edx + 0x34], 0
cmp byte [ebp - 0x8c], 0
je 0x10023cff
mov eax, dword [ebp - 0xa0]
movaps xmm1, xmm3
subss xmm1, dword [ecx + 0x1734]
movss xmm5, dword [eax + 0x6c]
comiss xmm5, xmm1
jbe 0x10023cc7
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10023cd6
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0xa4]
maxss xmm0, xmm5
subss xmm5, xmm0
movss dword [eax + 0x6c], xmm0
addss xmm5, dword [eax + 0xdc]
movss dword [ebp - 0x84], xmm5
movss dword [eax + 0xdc], xmm5
movss dword [ebp - 0xb8], xmm5
movss xmm4, dword [edx + 0x34]
mov ecx, dword [edx + 0x40]
mov byte [edx + 0xcd0], 0
mov edx, dword [edx + 0x3c]
movss dword [ebp - 0xa4], xmm4
cmp edx, ecx
je 0x10023fa1
mov edi, dword [ebp - 0x74]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0x8c], 0
lea esi, [edi + eax*2]
lea edi, [edi + ecx*2]
je 0x10023d48
xorps xmm0, xmm0
movss dword [ebp - 0x110], xmm0
jmp 0x10023d50
movss xmm0, dword [0x100c25a4]
movss xmm1, dword [0x100c2444]
mov ecx, 0x28
movss dword [ebp - 0x74], xmm0
call fcn.100119a0
movss xmm5, dword [ebp - 0x84]
mov ecx, eax
movss xmm6, dword [ebp - 0x94]
mov dword [ebp - 0xd4], ecx
movaps xmm4, xmm6
addss xmm4, xmm7
xorps xmm7, xmm7
addss xmm5, dword [ebp - 0x104]
subss xmm4, dword [ebp - 0xa4]
subss xmm5, xmm7
movss dword [ebp - 0x104], xmm5
cmp esi, edi
jae 0x10023f99
movss xmm6, dword [ebp - 0xd8]
nop word [eax + eax]
mov eax, dword [ebp - 0x68]
movaps xmm0, xmm6
addss xmm0, dword [eax + 0x1734]
comiss xmm5, xmm0
ja 0x10023f91
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, xmm5
jbe 0x10023e09
cmp esi, edi
jae 0x10023f60
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10023f60
cmp esi, edi
jb 0x10023df0
jmp 0x10023f60
mov eax, dword [0x100d1ec8]
movaps xmm3, xmm7
movaps xmm1, xmm7
mov edx, dword [eax + 0x1730]
movss xmm2, dword [eax + 0x1734]
divss xmm2, dword [edx]
cmp esi, edi
jae 0x10023e74
nop word [eax + eax]
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10023e64
cmp ecx, 0xd
je 0x10023e5e
cmp ecx, dword [edx + 0x1c]
jge 0x10023e51
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x10023e56
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x10023e30
jmp 0x10023e6e
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
mov ecx, dword [ebp - 0xd4]
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x10023eb1
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 0x1730]
cmp dword [eax + 0x1c], 0x20
jle 0x10023e99
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x10023e9e
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x100c23f8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [ebp - 0x68]
addss xmm1, xmm4
movss xmm2, dword [ebp - 0x110]
addss xmm4, xmm7
movss xmm0, dword [ebp - 0x74]
movss xmm3, dword [ebp - 0xf4]
addss xmm0, xmm5
subss xmm2, dword [eax + 0x1734]
minss xmm1, xmm3
maxss xmm4, dword [ebp - 0xf0]
minss xmm0, xmm6
addss xmm2, xmm5
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x20], xmm4
comiss xmm0, dword [ebp - 0xdc]
maxss xmm2, dword [ebp - 0xdc]
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x1c], xmm2
jbe 0x10023f60
comiss xmm6, xmm2
jbe 0x10023f60
comiss xmm1, dword [ebp - 0xf0]
jbe 0x10023f60
comiss xmm3, xmm4
jbe 0x10023f60
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x234]
call fcn.10035710
movss xmm5, dword [ebp - 0x104]
xorps xmm7, xmm7
movss xmm6, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x68]
movss xmm4, dword [ebp - 0x94]
subss xmm4, dword [ebp - 0xa4]
addss xmm5, dword [ecx + 0x1734]
mov ecx, dword [ebp - 0xd4]
movss dword [ebp - 0x104], xmm5
cmp esi, edi
jb 0x10023dc0
movss xmm6, dword [ebp - 0x94]
movss xmm4, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa0]
xorps xmm5, xmm5
mov eax, dword [eax + 0x234]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x6c]
mov esi, dword [eax + 0x28]
mov eax, dword [0x100d1ec8]
add esi, dword [ebp - 0x90]
movups xmm1, xmmword [eax + 0x1480]
comiss xmm5, xmm1
movaps xmm2, xmm1
movaps xmmword [ebp - 0x20], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x13ec]
jbe 0x10023fe8
xorps xmm0, xmm0
jmp 0x10023ff4
movss xmm0, dword [0x100c2444]
minss xmm0, xmm1
movss xmm1, dword [0x100c26ec]
movss xmm7, dword [0x100c23f8]
movss xmm3, dword [ebp - 0x1c]
comiss xmm5, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002401f
xorps xmm0, xmm0
jmp 0x1002402b
movss xmm0, dword [0x100c2444]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x1002404b
xorps xmm0, xmm0
jmp 0x10024057
movss xmm0, dword [0x100c2444]
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x10024072
xorps xmm0, xmm0
jmp 0x1002407e
movss xmm0, dword [0x100c2444]
minss xmm0, xmm2
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x30]
mulss xmm0, xmm1
movss xmm2, dword [eax + 0x1734]
mov eax, dword [eax + 0x1730]
addss xmm0, xmm7
mov dword [ebp - 0xd8], eax
cvttss2si edi, xmm0
movaps xmm0, xmm6
subss xmm0, xmm4
shl edi, 0x18
or edi, ecx
xor ecx, ecx
cmp byte [ebp - 0x8c], cl
cmovne edx, ecx
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x84]
subss xmm0, xmm5
movss dword [ebp - 0xf4], xmm0
test edi, 0xff000000
je 0x100241c3
test esi, esi
jne 0x10024107
mov ecx, dword [ebp - 0x90]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100240f0
mov eax, dword [ebp - 0xd8]
sub ecx, esi
mov esi, dword [ebp - 0x90]
add esi, ecx
cmp dword [ebp - 0x90], esi
je 0x100241c3
mov ecx, dword [ebp - 0x74]
test eax, eax
jne 0x10024126
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd8], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x10024137
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ecx + 0x3c]
shl ecx, 4
mov eax, dword [eax + 0x44]
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x20], xmm0
test edx, edx
je 0x1002418b
movss xmm0, dword [ebp - 0x20]
maxss xmm0, dword [edx]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x14]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x14], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xd8]
lea eax, [ebp - 0x20]
mov dword [esp], 0
push esi
push dword [ebp - 0x90]
push eax
push edi
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push dword [ebp - 0x74]
call fcn.10038760
xorps xmm5, xmm5
mov esi, dword [ebp - 0x68]
cmp byte [esi + 0xad], 0
je 0x1002421b
movss xmm0, dword [esi + 0x26c0]
comiss xmm5, xmm0
jae 0x1002421b
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xf8], xmm0
fld qword [ebp - 0xf8]
fld qword [0x100c2580]
call fcn.100a1c30
movss xmm0, dword [0x100c2418]
fstp qword [ebp - 0xf8]
movsd xmm1, qword [ebp - 0xf8]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1002421b
xor al, al
jmp 0x1002421d
mov al, 1
movss xmm2, dword [ebp - 0x84]
xorps xmm6, xmm6
movss xmm5, dword [ebp - 0x94]
movss xmm7, dword [0x100c23f8]
movss xmm3, dword [0x100c2444]
addss xmm2, dword [ebp - 0xe4]
addss xmm5, dword [ebp - 0xec]
subss xmm2, xmm6
subss xmm5, dword [ebp - 0xa4]
movss dword [ebp - 0x84], xmm2
movaps xmm0, xmm2
movss dword [ebp - 0x94], xmm5
movaps xmm1, xmm5
movss dword [ebp - 0x20], xmm5
movaps xmm4, xmm2
addss xmm1, xmm3
subss xmm0, dword [esi + 0x1734]
subss xmm4, dword [0x100c24e0]
movss dword [ebp - 0x18], xmm1
addss xmm0, xmm7
movss dword [ebp - 0x14], xmm4
movss dword [ebp - 0x1c], xmm0
test al, al
je 0x100243fa
comiss xmm4, dword [ebp - 0xdc]
jbe 0x100243fa
movss xmm3, dword [ebp - 0xa8]
comiss xmm3, xmm0
jbe 0x100243f2
comiss xmm1, dword [ebp - 0xf0]
jbe 0x100243f2
movss xmm0, dword [ebp - 0xc4]
comiss xmm0, xmm5
jbe 0x100243f2
mov eax, dword [0x100d1ec8]
movups xmm2, xmmword [eax + 0x1480]
comiss xmm6, xmm2
movaps xmm1, xmm2
movaps xmmword [ebp - 0x30], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [eax + 0x13ec]
jbe 0x1002430e
xorps xmm0, xmm0
jmp 0x1002431a
movss xmm0, dword [0x100c2444]
minss xmm0, xmm2
movss xmm3, dword [0x100c26ec]
movss xmm2, dword [ebp - 0x2c]
comiss xmm6, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002433d
xorps xmm0, xmm0
jmp 0x10024349
movss xmm0, dword [0x100c2444]
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x28]
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm2
jbe 0x10024369
xorps xmm0, xmm0
jmp 0x10024375
movss xmm0, dword [0x100c2444]
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x10024390
xorps xmm0, xmm0
jmp 0x1002439c
movss xmm0, dword [0x100c2444]
minss xmm0, xmm1
mulss xmm0, xmm3
push ecx
mov dword [esp], 0x3f800000
movss dword [ebp - 0xc8], xmm5
addss xmm0, xmm7
movss dword [ebp - 0xc4], xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0x234]
call fcn.100355d0
movss xmm2, dword [ebp - 0x84]
movss xmm5, dword [ebp - 0x94]
movss xmm3, dword [0x100c2444]
cmp byte [ebp - 0x98], 0
je 0x100237e2
subss xmm2, dword [esi + 0x1734]
subss xmm5, xmm3
movss dword [esi + 0x2768], xmm2
movss dword [esi + 0x2764], xmm5
jmp 0x100237e2