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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
push esi
mov esi, dword [0x1054ade8]
mov dword [esp + 0xe8], ecx
mov ecx, esi
push edi
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0xa4], 1
mov edi, dword [ecx + 0x19b0]
mov dword [esp + 0x58], edi
cmp byte [edi + 0xa7], 0
jne 0x100f9d14
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [esp + 0x48], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [esp + 0x44], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0xbc], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x5c], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x70], eax
test dl, dl
je 0x100f9a23
call fcn.100dc720
mov esi, dword [0x1054ade8]
mov ecx, dword [edi + 0xec]
xor edx, edx
mov eax, dword [edi + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0xf0]
call fcn.100d21c0
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [esi + 0x19ec], eax
jne 0x100f9a56
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x100f9a65
mov byte [esi + 0x1a24], 1
mov eax, dword [esp + 0xec]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100f9a89
mov dl, byte [ecx]
test dl, dl
je 0x100f9a89
cmp dl, 0x23
jne 0x100f9a83
cmp byte [ecx + 1], dl
je 0x100f9a89
inc ecx
cmp ecx, 0xffffffff
jb 0x100f9a73
movss xmm0, dword [esi + 0x18c4]
xorps xmm1, xmm1
cmp eax, ecx
jne 0x100f9aa3
movss dword [esp + 0xf0], xmm1
jmp 0x100f9af2
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [esp + 0x90]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.100f07f0
movss xmm0, dword [esp + 0x80]
addss xmm0, dword [0x1046f0f4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0x84]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x44]
movss xmm7, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x18]
movss dword [esp + 0x74], xmm7
movss dword [esp + 0x60], xmm1
test dl, dl
je 0x100f9b26
movss xmm0, dword [eax + 0x18c4]
mulss xmm0, dword [0x1046f204]
movss xmm5, dword [eax + 0x154c]
movaps xmm3, xmm5
addss xmm3, xmm5
addss xmm3, xmm0
call fcn.100dbe70
mov ecx, dword [esi + 0x19b0]
movaps xmm2, xmm7
xorps xmm1, xmm1
movaps xmm6, xmm0
comiss xmm1, xmm2
xorps xmm0, xmm0
xorps xmm4, xmm4
ja 0x100f9b5f
comiss xmm1, dword [esp + 0x60]
jbe 0x100f9b80
cmp dword [ecx + 0x1f8], 0
movss xmm4, dword [ecx + 0x264]
movss xmm0, dword [ecx + 0x268]
je 0x100f9b80
movss xmm4, dword [ecx + 0x244]
ucomiss xmm2, xmm1
movss xmm1, dword [0x1046f1d8]
lahf
test ah, 0x44
jp 0x100f9b9c
movaps xmm7, xmm6
movss dword [esp + 0x74], xmm7
jmp 0x100f9bc7
xorps xmm6, xmm6
comiss xmm6, xmm2
jbe 0x100f9bc7
movaps xmm7, xmm4
subss xmm7, dword [ecx + 0xf8]
addss xmm7, xmm2
comiss xmm1, xmm7
movss dword [esp + 0x74], xmm7
jb 0x100f9bc7
movaps xmm7, xmm1
movss dword [esp + 0x74], xmm1
movss xmm6, dword [esp + 0x60]
xorps xmm2, xmm2
ucomiss xmm6, xmm2
lahf
test ah, 0x44
jp 0x100f9bde
movaps xmm6, xmm3
jmp 0x100f9bfd
comiss xmm2, xmm6
jbe 0x100f9c03
subss xmm0, dword [ecx + 0xfc]
addss xmm6, xmm0
comiss xmm1, xmm6
movss dword [esp + 0x60], xmm6
jb 0x100f9c03
movaps xmm6, xmm1
movss dword [esp + 0x60], xmm6
movss xmm0, dword [esp + 0xf0]
comiss xmm0, xmm2
mov esi, dword [esp + 0x18]
jbe 0x100f9c20
movaps xmm2, xmm0
addss xmm2, dword [esi + 0x1560]
movss xmm4, dword [edi + 0xfc]
movaps xmm0, xmm6
movss xmm3, dword [edi + 0xf8]
addss xmm0, xmm4
movss dword [esp + 0xac], xmm3
movaps xmm1, xmm7
movss dword [esp + 0xb0], xmm4
addss xmm1, xmm3
movss dword [esp + 0x90], xmm3
movss dword [esp + 0x94], xmm4
movss dword [esp + 0xb8], xmm0
movaps xmm0, xmm7
mov dword [esp + 0x68], edi
addss xmm0, xmm2
movss dword [esp + 0xb4], xmm1
movaps xmm1, xmm6
addss xmm1, xmm4
addss xmm0, xmm3
movss dword [esp + 0x9c], xmm1
movss dword [esp + 0x98], xmm0
test dl, dl
je 0x100f9dcc
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xac]
push eax
mov edx, edi
lea ecx, [esp + 0x94]
call fcn.100d4c60
add esp, 4
test al, al
jne 0x100f9d1c
movss xmm0, dword [esp + 0x98]
lea ecx, [esp + 0x80]
subss xmm0, dword [esp + 0x90]
movss xmm1, dword [esi + 0x154c]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x9c]
subss xmm0, dword [esp + 0x94]
movss dword [esp + 0x84], xmm0
call fcn.100d4b30
call fcn.100dc850
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xb4]
lea edx, [esp + 0x80]
movss xmm1, dword [esp + 0xac]
movss dword [esp + 0xf4], xmm0
subss xmm0, xmm1
movss dword [esp + 0xa8], xmm1
movss xmm1, dword [esp + 0xb0]
push ecx
mov ecx, edi
movss dword [esp + 0x90], xmm1
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xbc]
subss xmm0, xmm1
movss dword [esp + 0x88], xmm0
call fcn.100d77f0
add esp, 4
test al, al
jne 0x100f9d9d
call fcn.100d76f0
call fcn.100dc850
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x19b0]
movss xmm0, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
subss xmm0, dword [ecx + 0x98]
mov eax, dword [ecx + 0x16c]
or dword [ecx + 0x174], eax
movss dword [esp + 0x74], xmm0
jmp 0x100f9e50
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [esp + 0x80]
movss dword [esp + 0x84], xmm1
movaps xmm1, xmm5
movss dword [esp + 0x80], xmm0
call fcn.100d4b30
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xac]
push eax
mov edx, edi
lea ecx, [esp + 0x94]
call fcn.100d4c60
add esp, 4
test al, al
je 0x100f9d14
movss xmm0, dword [esp + 0xb4]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0xa8], xmm0
mov edx, edi
lea ecx, [esp + 0xac]
call fcn.100d4e50
mov byte [esp + 0x1d], al
test al, al
je 0x100f9e70
mov dword [esi + 0x1d60], 1
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x1e30]
mov esi, dword [esp + 0x58]
xor edx, edx
cmp dword [eax], ecx
mov edi, eax
cmovne edi, edx
mov edx, ecx
mov ecx, esi
mov dword [esp + 0x34], edi
call fcn.100d4f40
mov edx, dword [esp + 0x18]
mov byte [esp + 0x53], al
test al, al
je 0x100f9f08
cmp dword [edx + 0x1c0c], esi
jne 0x100f9f08
mov ecx, dword [edx + 0x1c14]
cmp ecx, dword [esi + 0x19c]
jne 0x100f9f08
mov byte [esp + 0xe], 1
mov byte [esp + 0x3b], 0
cmp byte [esp + 0x1d], 0
je 0x100f9ed5
cmp byte [edx + 0x3d8], 0
mov byte [esp + 0x1c], 1
jne 0x100f9eda
mov byte [esp + 0x1c], 0
mov esi, dword [edx + 0x19ec]
mov eax, dword [esp + 0x28]
cmp esi, eax
je 0x100f9f1d
cmp dword [edx + 0x1b14], eax
je 0x100f9f01
cmp dword [edx + 0x1b08], eax
jne 0x100f9f1d
cmp dword [edx + 0x1b28], 3
jne 0x100f9f1d
mov byte [esp + 0x17], 1
jmp 0x100f9f22
mov byte [esp + 0xe], 0
test al, al
je 0x100f9ebb
mov byte [esp + 0x3b], 1
mov byte [esp + 0xe], 0
jmp 0x100f9ec0
mov byte [esp + 0x17], 0
mov eax, dword [esp + 0x44]
test al, al
je 0x100f9f6c
test edi, edi
je 0x100f9f6c
test esi, esi
jne 0x100f9f6c
mov eax, dword [esp + 0x68]
xor edx, edx
mov ecx, dword [eax + 0xec]
mov eax, dword [eax + 0xf4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100d21c0
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp dword [ecx + 0x1a20], eax
jne 0x100f9f68
mov byte [esp + 0x16], 1
jmp 0x100f9f7e
mov eax, dword [esp + 0x44]
mov byte [esp + 0x16], 0
test al, al
je 0x100f9fa9
mov byte [esp + 0x16], 0
test edi, edi
je 0x100f9fa9
mov eax, dword [esp + 0x68]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xec]
mov eax, dword [eax + 0xf4]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100d21c0
add esp, 4
cmp esi, eax
jne 0x100f9fa9
mov al, 1
jmp 0x100f9fab
xor al, al
mov cl, byte [esp + 0x17]
mov byte [esp + 0x1f], al
mov byte [esp + 0x43], 0
cmp esi, dword [esp + 0x28]
je 0x100f9fd6
mov edx, dword [ebp + 0x14]
test dl, 0x10
jne 0x100f9fca
test cl, cl
je 0x100f9fd6
cmp byte [esp + 0x44], 0
mov byte [esp + 0x30], 1
je 0x100f9fdb
mov byte [esp + 0x30], 0
cmp byte [esp + 0x53], 0
jne 0x100fa009
cmp byte [esp + 0x1c], 0
jne 0x100fa009
cmp byte [esp + 0x16], 0
jne 0x100fa009
test cl, cl
jne 0x100fa009
mov byte [esp + 0x16], cl
test al, al
jne 0x100fa00e
mov byte [esp + 0x3a], al
mov eax, dword [esp + 0x28]
jmp 0x100fa160
mov byte [esp + 0x16], 1
mov eax, dword [esp + 0x28]
mov byte [esp + 0x3a], 1
mov dword [esp + 0x34], edi
cmp esi, eax
je 0x100fa160
mov edi, dword [esp + 0x18]
mov esi, dword [ebp + 8]
add edi, 0x1e30
mov dword [esp + 0x34], edi
mov dword [edi + 0xe60], 0xbe99999a
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x100fa041
sub esi, ecx
lea ecx, [edi + 0x24]
inc esi
push esi
call fcn.100e22c0
push esi
push dword [ebp + 8]
push dword [edi + 0x2c]
call fcn.1034c3a0
mov esi, dword [ebp + 0xc]
lea ecx, [edi + 0xc]
add esp, 0xc
mov dword [esp + 0x20], 0
lea eax, [esi + 1]
push eax
call fcn.100e23c0
push 0
lea ecx, [edi + 0x18]
call fcn.100e22c0
lea eax, [esp + 0x20]
mov byte [edi + 0x30], 0
push eax
push ecx
push dword [ebp + 8]
mov ecx, dword [edi + 0x14]
mov edx, esi
call fcn.100d2600
mov esi, dword [esp + 0x34]
add esp, 0xc
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
sub eax, dword [ebp + 8]
mov dword [edi + 8], eax
cmp dword [edi], esi
jne 0x100fa0c0
mov ecx, edi
call fcn.100f4350
mov ecx, dword [esp + 0x44]
jmp 0x100fa130
mov ecx, dword [esp + 0x44]
mov al, cl
xor al, 1
mov dword [edi], esi
mov dword [edi + 0x38], 0
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe58], 0
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x48], 0x10000
mov dword [edi + 0x50], 0
mov byte [edi + 0x4c], al
test cl, cl
jne 0x100fa130
mov eax, dword [esp + 0x30]
mov edx, 1
cmp byte [esp + 0xe], cl
movzx eax, al
cmovne eax, edx
mov dword [esp + 0x30], eax
test dword [ebp + 0x14], 0x2000
je 0x100fa13d
mov byte [edi + 0x48], 1
test cl, cl
jne 0x100fa15e
cmp byte [esp + 0x3b], cl
jne 0x100fa159
cmp byte [esp + 0x1c], cl
je 0x100fa15e
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x100], cl
je 0x100fa15e
mov byte [esp + 0x30], 1
mov eax, esi
mov esi, dword [esp + 0x18]
cmp dword [esi + 0x19ec], eax
je 0x100fa219
cmp byte [esp + 0x16], 0
je 0x100fa211
mov edx, dword [esp + 0x58]
mov ecx, eax
call fcn.100d48e0
mov ecx, dword [esp + 0x28]
call fcn.100d49c0
mov ecx, edx
call fcn.100dbb70
mov eax, dword [esi + 0x1a00]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [esp + 0x44], 0
mov dword [esi + 0x1a00], eax
jne 0x100fa1b3
test dl, dl
jns 0x100fa1bc
or eax, 0xc
mov dword [esi + 0x1a00], eax
mov eax, dword [esi + 0x1a08]
or dword [esi + 0x1a04], 2
or eax, 0x180
cmp byte [esp + 0x44], 0
mov ecx, dword [esi + 0x1a0c]
mov dword [esi + 0x1a08], eax
mov dword [esi + 0x1a0c], ecx
je 0x100fa1f6
or eax, 0x60
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
test edx, 0x440
je 0x100fa20d
or eax, 1
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x19ec], eax
jne 0x100fa252
test edi, edi
jne 0x100fa22a
xor edx, edx
xor ecx, ecx
call fcn.100d48e0
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x19ec], eax
jne 0x100fa252
cmp byte [esi + 0x3d8], 0
je 0x100fa25d
cmp byte [esp + 0x3a], 0
jne 0x100fa25d
cmp byte [esp + 0x16], 0
jne 0x100fa25d
mov byte [esp + 0x43], 1
mov cl, 1
jmp 0x100fa263
test edi, edi
je 0x100fa261
cmp byte [esp + 0x1f], 0
je 0x100fa261
mov cl, 1
jmp 0x100fa263
xor cl, cl
mov byte [esp + 0x16], cl
test edi, edi
je 0x100fa27e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100fa27e
test cl, cl
je 0x100fa27e
mov edx, 1
jmp 0x100fa280
xor dl, dl
cmp byte [esp + 0x48], 0
mov dword [esp + 0x7c], edx
mov byte [esp + 0x52], dl
mov byte [esp + 0x53], 0
mov byte [esp + 0x3b], 0
je 0x100fa2fd
test edi, edi
je 0x100fa2fd
test cl, cl
jne 0x100fa2a5
test dl, dl
je 0x100fa305
mov eax, dword [ebp + 0xc]
lea ecx, [edi + 0xc]
inc eax
mov dword [esp + 0x20], 0
push eax
call fcn.100e23c0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
push eax
push ecx
push dword [ebp + 8]
mov ecx, dword [edi + 0x14]
call fcn.100d2600
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, edi
sub eax, dword [ebp + 8]
mov dword [edi + 8], eax
call fcn.100f4350
mov ecx, dword [edi + 0x40]
xor edx, edx
cmp ecx, dword [edi + 0x44]
movzx eax, byte [esp + 0x52]
mov cl, byte [esp + 0x16]
cmovne edx, eax
mov dword [esp + 0x7c], edx
test cl, cl
jne 0x100fa311
test dl, dl
jne 0x100fa311
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x19ec], eax
jne 0x100fa327
cmp byte [esp + 0x48], 0
jne 0x100fa327
test edi, edi
je 0x100fa327
cmp byte [edi + 0x30], 0
mov byte [esp + 0x52], 1
jne 0x100fa32c
mov byte [esp + 0x52], 0
cmp byte [esp + 0xbc], 0
je 0x100fa3b8
mov esi, dword [esi + 0x18c0]
mov ecx, esi
push 0x2a
call fcn.100f0640
mov ecx, dword [esi + 0x10]
mov edi, eax
mov edx, dword [esp + 0x18]
mov dword [edx + 0x2cb4], ecx
lea esi, [edx + 0x2ca4]
mov ecx, dword [edx + 0x18c0]
mov ecx, dword [ecx + 0x48]
mov dword [esi + 0x48], ecx
mov ecx, dword [edx + 0x18c0]
mov eax, dword [ecx + 0x34]
mov edx, dword [ecx + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
mov eax, dword [ecx + 0x18c0]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 0x18c0]
mov eax, dword [eax + 0x50]
mov dword [esi + 0x50], eax
mov eax, dword [ecx + 0x18c0]
mov ecx, esi
mov eax, dword [eax + 0x38]
mov dword [esi + 0x38], eax
mov dword [esi + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [esi + 0xc], eax
call fcn.100dbf70
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
movss xmm0, dword [0x1046f094]
mov dword [esp + 0x88], 0
cmp dword [esi + 0x19ec], eax
jne 0x100fa772
mov eax, dword [edi + 8]
mov edx, dword [ebp + 0x14]
mov dword [edi + 0xe68], edx
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xf0], 0
mov dword [esi + 0x2fb4], 1
sete al
cmp byte [esp + 0x44], 0
mov byte [esi + 0x19f9], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [esp + 0xa8]
subss xmm6, dword [esi + 0x1548]
addss xmm6, dword [edi + 0x38]
je 0x100fa469
mov eax, dword [esp + 0x68]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xfc]
subss xmm2, dword [esi + 0x154c]
jmp 0x100fa475
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, xmm0
cmp byte [esp + 0x30], 0
mov al, byte [esi + 0xb1]
mov byte [esp + 0xe], al
jne 0x100fa5c9
mov cl, byte [esp + 0x1d]
test cl, cl
je 0x100fa4a2
test al, al
jne 0x100fa50b
cmp byte [esi + 0x3e2], al
jne 0x100fa5c9
cmp byte [esi + 0x3d8], 0
je 0x100fa534
cmp byte [edi + 0xe65], 0
jne 0x100fa534
test cl, cl
je 0x100fa5e8
cmp byte [edi + 0x4c], 0
je 0x100fa4e2
push 0
mov edx, edi
lea ecx, [esp + 0xc4]
call fcn.100f4380
movss xmm2, dword [esp + 0xd0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100f4710
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x4b], 0
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100fa5e4
cmp byte [esi + 0x3e2], 0
je 0x100fa4a2
push 0x20000c
mov ecx, edi
call fcn.100f97d0
push 0x60000d
mov ecx, edi
call fcn.100f97d0
mov edx, dword [ebp + 0x14]
jmp 0x100fa5e4
cmp byte [esi + 0xf0], 0
je 0x100fa5e8
cmp byte [edi + 0xe65], 0
jne 0x100fa5f1
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100fa573
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100fa5e8
cmp byte [edi + 0x4c], 0
je 0x100fa595
push 0
mov edx, edi
lea ecx, [esp + 0xc4]
call fcn.100f4380
movss xmm2, dword [esp + 0xd0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100fa5a3
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100f4710
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe60], 0xbe99999a
mov byte [edi + 0xe64], 1
jmp 0x100fa5e4
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe65], 1
mov al, byte [esp + 0xe]
cmp byte [edi + 0xe65], 0
je 0x100fa601
cmp byte [esi + 0xf0], 0
jne 0x100fa601
mov byte [edi + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x100fa613
cmp byte [esi + 0x102], 0
je 0x100fa620
test al, al
je 0x100fa627
cmp byte [esi + 0x103], 0
je 0x100fa627
mov byte [esp + 0xe], 1
jmp 0x100fa62c
mov byte [esp + 0xe], 0
test edx, 0x400
je 0x100fa6bf
mov edx, dword [0x1054ade8]
mov dword [esp + 0x10], edx
mov ecx, dword [edx + 0x34]
test ecx, ecx
js 0x100fa6c8
call fcn.100d7380
mov ecx, dword [esp + 0x48]
test al, al
mov al, byte [esp + 0xe]
je 0x100fa6d0
test al, al
jne 0x100fa6d0
cmp byte [esi + 0x101], al
jne 0x100fa6d0
test cl, cl
jne 0x100fa6d0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 9
push eax
lea ecx, [esi + 0x1500]
call fcn.10102860
test al, al
jne 0x100fa6c8
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], 9
call fcn.100f9800
add esp, 8
test al, al
je 0x100fa6bf
push dword [esp + 0x20]
mov ecx, edi
call fcn.100f97d0
mov ecx, dword [0x1054ade8]
mov dword [esp + 0x10], ecx
jmp 0x100fa6c8
mov eax, dword [0x1054ade8]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0xe]
mov ecx, dword [esp + 0x48]
cmp dword [esi + 0x1500], 0
jle 0x100fa77b
test al, al
jne 0x100fa765
test cl, cl
jne 0x100fa765
cmp byte [esp + 0x17], cl
jne 0x100fa765
mov ecx, dword [esp + 0x18]
xor esi, esi
nop dword [eax]
mov eax, dword [ecx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x20], eax
cmp eax, 9
jne 0x100fa71c
cmp byte [ecx + 0x101], 0
jne 0x100fa758
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
sub esp, 8
call fcn.100f9800
add esp, 8
test al, al
je 0x100fa754
push dword [esp + 0x20]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100f4af0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x18]
inc esi
cmp esi, dword [ecx + 0x1500]
jl 0x100fa700
mov esi, dword [esp + 0x18]
push 0
lea ecx, [esi + 0x1500]
call fcn.100e23c0
mov eax, dword [0x1054ade8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
xor cl, cl
mov byte [esp + 0xf], cl
cmp dword [esi + 0x19ec], eax
jne 0x100fbb95
cmp byte [esi + 0x19f8], cl
jne 0x100fb75c
cmp byte [esp + 0x43], cl
jne 0x100fb75c
mov cl, byte [esi + 0x101]
mov eax, 0x400000
mov edx, dword [esp + 0x18]
xor esi, esi
test cl, cl
cmovne esi, eax
mov ch, byte [edx + 0xb1]
mov byte [esp + 0x7a], ch
test ch, ch
je 0x100fa81a
cmp byte [edx + 0x103], 0
je 0x100fa7e4
cmp byte [edx + 0x100], 0
jne 0x100fa7e4
mov eax, 1
jmp 0x100fa7e6
xor eax, eax
test eax, eax
jne 0x100fa82c
xor ah, ah
mov byte [esp + 0xe], ah
test ch, ch
je 0x100fa83d
cmp byte [edx + 0x103], 0
je 0x100fa83d
test cl, cl
je 0x100fa83d
cmp byte [edx + 0x100], 0
jne 0x100fa83d
cmp byte [edx + 0x102], 0
jne 0x100fa83d
mov byte [esp + 0x1f], 1
jmp 0x100fa846
cmp byte [edx + 0x100], 0
je 0x100fa7ea
cmp byte [edx + 0x103], 0
jne 0x100fa7ea
cmp byte [edx + 0x102], 0
jne 0x100fa7ea
test cl, cl
jne 0x100fa7ea
mov ah, 1
jmp 0x100fa7ec
mov byte [esp + 0x1f], 0
test ch, ch
je 0x100fa8bf
mov ecx, dword [esp + 0x18]
mov dl, byte [edx + 0x102]
mov byte [esp + 0x1c], dl
cmp byte [ecx + 0x103], 0
je 0x100fa8ce
cmp byte [ecx + 0x100], 0
jne 0x100fa8ce
test dl, dl
jne 0x100fa8ce
mov cl, byte [ecx + 0x100]
mov byte [esp + 0x1e], 1
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x101], 0
mov byte [esp + 0x17], 0
je 0x100fa933
mov byte [esp + 0x17], 0
test cl, cl
jne 0x100fa933
mov byte [esp + 0x17], cl
cmp byte [edx + 0x102], cl
jne 0x100fa933
mov byte [esp + 0x17], cl
cmp byte [edx + 0x103], cl
jne 0x100fa933
mov byte [esp + 0x1d], 1
mov byte [esp + 0x17], cl
jmp 0x100fa938
mov dl, byte [edx + 0x100]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f], 0
mov cl, byte [ecx + 0x100]
mov al, dl
mov byte [esp + 0x1c], al
mov byte [esp + 0x1e], 0
test cl, cl
je 0x100fa875
mov edx, dword [esp + 0x18]
mov byte [esp + 0x1c], al
mov byte [esp + 0x1e], 0
cmp byte [edx + 0x101], 0
jne 0x100fa879
cmp byte [edx + 0x102], 0
mov byte [esp + 0x1c], al
mov byte [esp + 0x1e], 0
jne 0x100fa879
cmp byte [edx + 0x103], 0
mov byte [esp + 0x1c], al
mov byte [esp + 0x1e], 0
jne 0x100fa879
mov byte [esp + 0x17], 1
mov byte [esp + 0x1c], al
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1d], 0
test ah, ah
mov eax, dword [esp + 0x10]
je 0x100fa957
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x100fa957
call fcn.100d7380
test al, al
jne 0x100fa96e
mov eax, dword [esp + 0x10]
cmp byte [esp + 0x1d], 0
je 0x100fa995
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100fa995
call fcn.100d7380
test al, al
je 0x100fa995
cmp byte [esp + 0x48], 0
jne 0x100fa995
cmp byte [esp + 0xbc], 0
jne 0x100fa995
cmp byte [esp + 0x44], 0
je 0x100fa98e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100fa995
mov byte [esp + 0x3a], 1
jmp 0x100fa99a
mov byte [esp + 0x3a], 0
cmp byte [esp + 0xe], 0
mov eax, dword [esp + 0x10]
je 0x100fa9b9
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100fa9b9
call fcn.100d7380
test al, al
jne 0x100fa9d0
mov eax, dword [esp + 0x10]
cmp byte [esp + 0x17], 0
je 0x100fa9f0
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100fa9f0
call fcn.100d7380
test al, al
je 0x100fa9f0
cmp byte [esp + 0xbc], 0
jne 0x100fa9f0
cmp byte [esp + 0x44], 0
je 0x100fa9e9
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100fa9f0
mov byte [esp + 0x17], 1
jmp 0x100fa9f5
mov byte [esp + 0x17], 0
cmp byte [esp + 0xe], 0
mov eax, dword [esp + 0x10]
je 0x100faa14
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100faa14
call fcn.100d7380
test al, al
jne 0x100faa2b
mov eax, dword [esp + 0x10]
cmp byte [esp + 0x1d], 0
je 0x100faa37
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100faa37
call fcn.100d7380
test al, al
je 0x100faa37
cmp byte [esp + 0x48], 0
mov byte [esp + 0x7b], 1
je 0x100faa3c
mov byte [esp + 0x7b], 0
mov al, byte [esp + 0xe]
test al, al
je 0x100faa74
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x88]
test ecx, ecx
js 0x100faa74
call fcn.100d7380
test al, al
je 0x100faa70
cmp byte [esp + 0x48], 0
jne 0x100faa70
cmp byte [esp + 0x5c], 0
je 0x100faa70
mov byte [esp + 0x1d], 1
jmp 0x100faa7d
mov al, byte [esp + 0xe]
mov byte [esp + 0x1d], 0
test al, al
je 0x100faa94
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100faa98
call fcn.100d7380
test al, al
jne 0x100faab2
mov eax, dword [esp + 0x10]
cmp byte [esp + 0x1f], 0
je 0x100faac5
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100faac5
call fcn.100d7380
test al, al
je 0x100faac5
cmp byte [esp + 0x48], 0
jne 0x100faac5
cmp byte [esp + 0x5c], 0
mov byte [esp + 0x1f], 1
jne 0x100faaca
mov byte [esp + 0x1f], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100fab1b
call fcn.100d7380
test al, al
je 0x100fab17
cmp byte [esp + 0x1e], 0
je 0x100faaec
mov eax, 0x200004
jmp 0x100faafe
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [esp + 0x1c], 0
cmovne eax, ecx
or esi, eax
push esi
mov ecx, edi
call fcn.100f97d0
mov ecx, dword [0x1054ade8]
mov dword [esp + 0x10], ecx
jmp 0x100fb737
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100fab47
call fcn.100d7380
test al, al
je 0x100fab43
cmp byte [esp + 0x1e], 0
je 0x100fab39
mov eax, 0x200005
jmp 0x100faafe
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x100faaf6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100fabb0
call fcn.100d7380
test al, al
je 0x100fabb0
cmp byte [esp + 0x44], 0
je 0x100fabb0
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x100], 0
je 0x100fab9c
mov edx, dword [esp + 0x68]
mov esi, eax
xorps xmm6, xmm6
movss xmm0, dword [edx + 0x6c]
subss xmm0, dword [esi + 0x18c4]
maxss xmm0, xmm6
movss dword [edx + 0x8c], xmm0
mov dword [edx + 0x94], 0
jmp 0x100fb73b
movzx eax, byte [esp + 0x1e]
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
jmp 0x100fab01
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100fac10
call fcn.100d7380
test al, al
je 0x100fac10
cmp byte [esp + 0x44], 0
je 0x100fac10
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x100], 0
je 0x100fabfc
mov edx, dword [esp + 0x68]
mov esi, eax
mov ecx, dword [esp + 0x10]
movss xmm0, dword [esi + 0x18c4]
addss xmm0, dword [edx + 0x6c]
mov eax, dword [ecx + 0x19b0]
minss xmm0, dword [eax + 0x74]
jmp 0x100fab85
movzx eax, byte [esp + 0x1e]
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
jmp 0x100fab01
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x50]
test ecx, ecx
js 0x100fac44
call fcn.100d7380
test al, al
je 0x100fac44
mov ecx, dword [esp + 0x18]
mov eax, esi
or eax, 0x200006
or esi, 0x200004
cmp byte [ecx + 0x100], 0
cmovne esi, eax
jmp 0x100fab00
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x54]
test ecx, ecx
js 0x100fac78
call fcn.100d7380
test al, al
je 0x100fac78
mov ecx, dword [esp + 0x18]
mov eax, esi
or eax, 0x200007
or esi, 0x200005
cmp byte [ecx + 0x100], 0
cmovne esi, eax
jmp 0x100fab00
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
js 0x100fac9e
call fcn.100d7380
test al, al
je 0x100fac9e
cmp byte [esp + 0x48], 0
jne 0x100fac9e
or esi, 0x200008
jmp 0x100fab00
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x60]
test ecx, ecx
js 0x100fad1c
call fcn.100d7380
test al, al
je 0x100fad1c
cmp byte [esp + 0x48], 0
jne 0x100fad1c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100fad11
cmp byte [esp + 0x1c], 0
je 0x100facdf
push 0x60000c
mov ecx, edi
call fcn.100f97d0
or esi, 0x200009
jmp 0x100fab00
cmp byte [esp + 0x7a], 0
je 0x100fad11
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x103], 0
je 0x100fad11
cmp byte [eax + 0x102], 0
jne 0x100fad11
cmp byte [eax + 0x100], 0
jne 0x100fad11
push 0x600004
mov ecx, edi
call fcn.100f97d0
or esi, 0x200009
jmp 0x100fab00
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x100fad30
call fcn.100d7380
test al, al
jne 0x100fad44
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x100fadbe
call fcn.100d7380
test al, al
je 0x100fadbe
mov edx, dword [ebp + 0x14]
mov eax, edx
mov esi, dword [esp + 0x18]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x44], 0
je 0x100fad67
mov cl, byte [esi + 0x100]
test al, al
je 0x100fad76
test cl, cl
jne 0x100fad7a
mov byte [esp + 0x43], 1
mov byte [esp + 0x3b], 1
jmp 0x100fb73b
test cl, cl
jne 0x100fad67
cmp byte [esp + 0x48], 0
jne 0x100fb73b
sub esp, 8
mov dword [esp + 0x28], 0xa
lea ecx, [esp + 0x28]
call fcn.100f9800
add esp, 8
test al, al
je 0x100fb354
push dword [esp + 0x20]
mov ecx, edi
call fcn.100f97d0
mov ecx, dword [0x1054ade8]
mov dword [esp + 0x10], ecx
jmp 0x100fb73b
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x100faddd
call fcn.100d7380
test al, al
je 0x100faddd
mov esi, dword [esp + 0x18]
mov cl, 1
mov byte [esp + 0x43], cl
jmp 0x100fb73f
mov al, byte [esp + 0x1d]
test al, al
jne 0x100fb712
cmp byte [esp + 0x1f], al
jne 0x100fb712
cmp byte [esp + 0xe], al
je 0x100fae29
mov ecx, dword [esi + 0x74]
test ecx, ecx
js 0x100fae29
call fcn.100d7380
test al, al
je 0x100fae29
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
jmp 0x100fb737
mov al, byte [esp + 0x3a]
test al, al
jne 0x100fb363
cmp byte [esp + 0x17], al
jne 0x100fb363
cmp byte [esp + 0x7b], al
je 0x100fb737
call fcn.100d5000
mov esi, eax
test esi, esi
je 0x100fb350
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fae60
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.100d4fc0
mov ecx, eax
xor eax, eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x54], eax
cmp byte [esi], al
je 0x100faed9
xor edi, edi
push 0
mov edx, esi
lea ecx, [esp + 0x30]
call fcn.100d2470
add esp, 4
add esi, eax
cmp dword [esp + 0x2c], 0
je 0x100faec9
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x2c]
sub esp, 8
call fcn.100f9800
add esp, 8
test al, al
je 0x100faec4
mov ecx, dword [esp + 0x64]
mov ax, word [esp + 0x2c]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100fae87
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x100fb325
mov edx, dword [edi + 0x44]
lea esi, [edi + 0x3c]
mov ecx, dword [esi + 4]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
cmp ecx, edx
je 0x100faf4f
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jle 0x100faf12
mov ecx, eax
mov dword [esi + 4], eax
mov dword [esp + 0x4c], ecx
jmp 0x100faf16
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x30], edx
cmp edx, eax
jle 0x100faf29
mov edx, eax
mov dword [esi + 8], eax
mov dword [esp + 0x30], edx
jmp 0x100faf2d
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x4c], edi
jne 0x100faf4f
mov ecx, dword [esp + 0x4c]
mov edx, edi
mov dword [esi], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
mov edi, dword [esi]
cmp edi, eax
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
jle 0x100faf63
mov dword [esi], eax
mov dword [esp + 0x30], eax
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x100fafc2
mov dword [esp + 0x4c], ecx
cmp ecx, eax
jle 0x100faf7d
mov ecx, eax
mov dword [esi + 4], eax
mov dword [esp + 0x4c], ecx
jmp 0x100faf81
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
cmp edx, eax
jle 0x100faf90
mov dword [esi + 8], eax
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x3c]
mov edi, edx
cmp dword [esp + 0x4c], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
jne 0x100fafc2
mov ecx, dword [esp + 0x4c]
mov dword [esi], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x30], eax
jle 0x100fafca
mov dword [esi], eax
cmp ecx, edx
je 0x100fb250
add esi, 0x18
mov eax, 0x63
mov dword [esi + 0xe08], 0x3e7
mov word [esi + 0xe00], ax
cmp ecx, edx
jge 0x100fb121
sub edx, ecx
mov dword [esp + 0x10], edx
cmp word [esi + 0xdfe], ax
jne 0x100fb00d
mov ecx, esi
call fcn.100f5790
mov edx, dword [esp + 0x10]
cmp edx, 0x3e7
jle 0x100fb042
xor eax, eax
mov word [esi + 0xdfe], ax
mov dword [esi + 0xe04], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.100f4560
mov eax, dword [edi + 0x40]
lea esi, [edi + 0x3c]
mov dword [esi + 8], eax
jmp 0x100fb241
mov eax, dword [esi + 0xe04]
add eax, edx
cmp eax, 0x3e7
jle 0x100fb06f
mov edi, dword [esp + 0x10]
mov ecx, esi
call fcn.100f5790
mov eax, dword [esi + 0xe04]
add eax, edi
cmp eax, 0x3e7
jg 0x100fb055
mov edi, dword [esp + 0x34]
movzx eax, word [esi + 0xdfe]
movsx ecx, ax
shl ecx, 4
add ecx, esi
lea eax, [eax + 1]
mov dword [esp + 0x2c], ecx
mov word [esi + 0xdfe], ax
je 0x100fb024
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [ecx], edx
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
test ecx, ecx
jne 0x100fb0b6
mov dword [eax + 0xc], 0xffffffff
jmp 0x100fb02c
mov edi, dword [esp + 0x2c]
mov eax, dword [esi + 0xe04]
mov dword [edi + 0xc], eax
mov eax, edi
add dword [esi + 0xe04], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
add eax, 0x318
lea eax, [esi + eax*2]
mov dword [esp + 0x58], eax
test eax, eax
je 0x100fb02c
xor esi, esi
test ecx, ecx
jle 0x100fb02c
lea eax, [edx + edx]
mov dword [esp + 0x20], eax
mov edx, eax
nop dword [eax]
mov eax, dword [edi + 0x14]
lea edx, [edx + 2]
mov ecx, dword [esp + 0x58]
mov ax, word [edx + eax - 2]
mov word [ecx + esi*2], ax
inc esi
mov ecx, dword [esp + 0x10]
cmp esi, ecx
jl 0x100fb100
jmp 0x100fb028
sub ecx, edx
mov dword [esp + 0x24], ecx
cmp word [esi + 0xdfe], ax
jne 0x100fb13b
mov ecx, esi
call fcn.100f5790
mov ecx, dword [esp + 0x24]
cmp ecx, 0x3e7
jle 0x100fb157
xor eax, eax
mov word [esi + 0xdfe], ax
mov dword [esi + 0xe04], eax
jmp 0x100fb22c
mov eax, dword [esi + 0xe04]
add eax, ecx
cmp eax, 0x3e7
jle 0x100fb18e
mov edi, dword [esp + 0x24]
nop word [eax + eax]
mov ecx, esi
call fcn.100f5790
mov eax, dword [esi + 0xe04]
add eax, edi
cmp eax, 0x3e7
jg 0x100fb170
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
movzx eax, word [esi + 0xdfe]
movsx edx, ax
shl edx, 4
add edx, esi
lea eax, [eax + 1]
mov dword [esp + 0x2c], edx
mov word [esi + 0xdfe], ax
je 0x100fb22c
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
test ecx, ecx
jne 0x100fb1d2
mov dword [eax + 0xc], 0xffffffff
jmp 0x100fb230
mov edi, dword [esp + 0x2c]
mov eax, dword [esi + 0xe04]
mov dword [edi + 0xc], eax
mov eax, edi
add dword [esi + 0xe04], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
add eax, 0x318
lea eax, [esi + eax*2]
mov dword [esp + 0x58], eax
test eax, eax
je 0x100fb230
xor esi, esi
test ecx, ecx
jle 0x100fb230
lea eax, [edx + edx]
mov dword [esp + 0x20], eax
mov edx, eax
nop dword [eax]
mov eax, dword [edi + 0x14]
lea edx, [edx + 2]
mov ecx, dword [esp + 0x58]
mov ax, word [edx + eax - 2]
mov word [ecx + esi*2], ax
inc esi
mov ecx, dword [esp + 0x24]
cmp esi, ecx
jl 0x100fb210
mov edx, dword [esp + 0x10]
push ecx
mov ecx, edi
call fcn.100f4560
mov eax, dword [edi + 0x44]
lea esi, [edi + 0x3c]
mov dword [esi + 4], eax
mov ecx, esi
add esp, 4
mov byte [ecx + 0xf], 0
mov dword [esi], eax
mov byte [ecx + 0xf], 0
push dword [esp + 0x54]
mov edx, dword [esi]
mov ecx, edi
push dword [esp + 0x68]
call fcn.100f45c0
add esp, 8
test al, al
je 0x100fb306
mov eax, dword [esi]
add esi, 0x18
mov dword [esp + 0x20], eax
mov eax, 0x63
mov word [esi + 0xe00], ax
mov dword [esi + 0xe08], 0x3e7
cmp word [esi + 0xdfe], ax
jne 0x100fb29b
mov ecx, esi
call fcn.100f5790
cmp dword [esi + 0xe04], 0x3e7
jle 0x100fb2ba
mov ecx, esi
call fcn.100f5790
cmp dword [esi + 0xe04], 0x3e7
jg 0x100fb2a7
movzx eax, word [esi + 0xdfe]
movsx ecx, ax
shl ecx, 4
lea eax, [eax + 1]
mov word [esi + 0xdfe], ax
add ecx, esi
je 0x100fb2f9
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
mov dword [ecx + 4], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0xffffffff
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x100fb31a
mov eax, dword [esp + 0x54]
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x100fb31a
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x100fb31a
dec eax
mov word [esi + 0xe16], ax
mov ecx, dword [esp + 0x64]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x100fb338
mov eax, dword [0x1054ade8]
test eax, eax
je 0x100fb338
dec dword [eax + 0x374]
push ecx
call fcn.1035bfd5
mov ecx, dword [0x1054ade8]
add esp, 4
mov dword [esp + 0x10], ecx
jmp 0x100fb737
mov esi, dword [esp + 0x18]
mov ecx, dword [0x1054ade8]
mov dword [esp + 0x10], ecx
jmp 0x100fb73b
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xd4], 0
je 0x100fb40b
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100fb388
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100fb38d
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100d2b80
mov edi, eax
lea ecx, [edi + 1]
call fcn.100d4fc0
mov ecx, dword [esp + 0x34]
lea edx, [edi + 1]
mov dword [esp + 0x5c], eax
mov esi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x20]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x5c]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100d2a50
add esp, 8
mov ecx, esi
call fcn.100d5030
test esi, esi
je 0x100fb3f1
mov eax, dword [0x1054ade8]
test eax, eax
je 0x100fb3f1
dec dword [eax + 0x374]
push esi
call fcn.1035bfd5
mov eax, dword [0x1054ade8]
add esp, 4
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x3a]
mov edi, dword [esp + 0x34]
test al, al
je 0x100fb73b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100fb433
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
lea edx, [edi + 0x3c]
mov byte [edi + 0xe64], 1
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x24], ecx
cmp ecx, eax
je 0x100fb73b
mov esi, dword [edi + 4]
cmp ecx, esi
jle 0x100fb463
mov dword [edx + 4], esi
mov ecx, esi
mov dword [esp + 0x24], esi
cmp eax, esi
jle 0x100fb470
mov dword [edx + 8], esi
mov eax, esi
mov dword [esp + 0x3c], esi
cmp ecx, eax
jne 0x100fb476
mov dword [edx], ecx
cmp dword [edx], esi
jle 0x100fb47c
mov dword [edx], esi
cmp ecx, eax
je 0x100fb70c
lea esi, [edx + 0x18]
mov dword [esi + 0xe08], 0x3e7
jge 0x100fb5d5
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, 0x63
mov word [esi + 0xe00], ax
cmp word [esi + 0xdfe], ax
jne 0x100fb4b9
mov ecx, esi
call fcn.100f5790
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x3e7
jle 0x100fb4d9
xor eax, eax
mov word [esi + 0xdfe], ax
mov dword [esi + 0xe04], eax
jmp 0x100fb5ac
mov eax, dword [esi + 0xe04]
add eax, ecx
cmp eax, 0x3e7
jle 0x100fb50e
mov edi, dword [esp + 0x3c]
nop dword [eax]
mov ecx, esi
call fcn.100f5790
mov eax, dword [esi + 0xe04]
add eax, edi
cmp eax, 0x3e7
jg 0x100fb4f0
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
movzx eax, word [esi + 0xdfe]
movsx edx, ax
shl edx, 4
add edx, esi
lea eax, [eax + 1]
mov dword [esp + 0x2c], edx
mov word [esi + 0xdfe], ax
je 0x100fb5ac
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
test ecx, ecx
jne 0x100fb552
mov dword [eax + 0xc], 0xffffffff
jmp 0x100fb5b0
mov edi, dword [esp + 0x2c]
mov eax, dword [esi + 0xe04]
mov dword [edi + 0xc], eax
mov eax, edi
add dword [esi + 0xe04], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
add eax, 0x318
lea eax, [esi + eax*2]
mov dword [esp + 0x58], eax
test eax, eax
je 0x100fb5b0
xor esi, esi
test ecx, ecx
jle 0x100fb5b0
lea eax, [edx + edx]
mov dword [esp + 0x20], eax
mov edx, eax
nop dword [eax]
mov eax, dword [edi + 0x14]
lea edx, [edx + 2]
mov ecx, dword [esp + 0x58]
mov ax, word [edx + eax - 2]
mov word [ecx + esi*2], ax
inc esi
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
jl 0x100fb590
mov edx, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.100f4560
mov eax, dword [edi + 0x40]
lea edx, [edi + 0x3c]
mov ecx, edx
mov dword [edx + 8], eax
add esp, 4
mov byte [ecx + 0xf], 0
mov dword [edx], eax
mov byte [edx + 0xf], 0
jmp 0x100fb737
sub ecx, eax
mov eax, 0x63
mov dword [esp + 0x24], ecx
mov word [esi + 0xe00], ax
cmp word [esi + 0xdfe], ax
jne 0x100fb5fb
mov ecx, esi
call fcn.100f5790
mov ecx, dword [esp + 0x24]
cmp ecx, 0x3e7
jle 0x100fb617
xor eax, eax
mov word [esi + 0xdfe], ax
mov dword [esi + 0xe04], eax
jmp 0x100fb6ec
mov eax, dword [esi + 0xe04]
add eax, ecx
cmp eax, 0x3e7
jle 0x100fb64e
mov edi, dword [esp + 0x24]
nop word [eax + eax]
mov ecx, esi
call fcn.100f5790
mov eax, dword [esi + 0xe04]
add eax, edi
cmp eax, 0x3e7
jg 0x100fb630
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
movzx eax, word [esi + 0xdfe]
movsx edx, ax
shl edx, 4
add edx, esi
lea eax, [eax + 1]
mov dword [esp + 0x2c], edx
mov word [esi + 0xdfe], ax
je 0x100fb6ec
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
test ecx, ecx
jne 0x100fb692
mov dword [eax + 0xc], 0xffffffff
jmp 0x100fb6f0
mov edi, dword [esp + 0x2c]
mov eax, dword [esi + 0xe04]
mov dword [edi + 0xc], eax
mov eax, edi
add dword [esi + 0xe04], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
add eax, 0x318
lea eax, [esi + eax*2]
mov dword [esp + 0x58], eax
test eax, eax
je 0x100fb6f0
xor esi, esi
test ecx, ecx
jle 0x100fb6f0
lea eax, [edx + edx]
mov dword [esp + 0x20], eax
mov edx, eax
nop dword [eax]
mov eax, dword [edi + 0x14]
lea edx, [edx + 2]
mov ecx, dword [esp + 0x58]
mov ax, word [edx + eax - 2]
mov word [ecx + esi*2], ax
inc esi
mov ecx, dword [esp + 0x24]
cmp esi, ecx
jl 0x100fb6d0
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, edi
call fcn.100f4560
mov eax, dword [edi + 0x44]
lea edx, [edi + 0x3c]
mov ecx, edx
mov dword [edx + 4], eax
add esp, 4
mov byte [ecx + 0xf], 0
mov dword [edx], eax
mov byte [edx + 0xf], 0
jmp 0x100fb737
movzx eax, al
mov ecx, edi
xor eax, 1
add eax, 0x20000a
push eax
call fcn.100f97d0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov eax, dword [0x1054ade8]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x18]
mov cl, byte [esp + 0xf]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100fb752
cmp byte [esp + 0x16], 0
je 0x100fb752
mov al, 1
jmp 0x100fb754
xor al, al
or byte [esp + 0x7c], al
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x19ec], eax
jne 0x100fbb95
xor eax, eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x30], eax
test cl, cl
je 0x100fb894
cmp byte [esp + 0x48], al
jne 0x100fb7c5
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100fb7b0
test dl, dl
je 0x100fb7ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100fb7b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100fb790
xor eax, eax
jmp 0x100fb7b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100fb7c5
mov eax, dword [edi + 0x24]
dec eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x30], eax
cmp byte [esp + 0x3b], 0
mov edx, dword [ebp + 0x14]
je 0x100fb7d8
test dl, 0x20
jne 0x100fb897
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x30]
test esi, esi
je 0x100fbb6f
cmp dword [esp + 0x88], ecx
je 0x100fbb48
cmp byte [esp + 0x70], 0
je 0x100fbb48
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0x154], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x14c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x140]
push eax
xor eax, eax
movlpd qword [esp + 0x164], xmm0
movlpd qword [esp + 0x16c], xmm0
mov dword [esp + 0x144], 0x40000
mov dword [esp + 0x148], edx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x14c], 0
call eax
mov edx, dword [esp + 0x160]
add esp, 4
mov eax, dword [esp + 0x154]
mov dword [ebp + 8], eax
lea ecx, [edx - 1]
cmp dword [esp + 0x158], ecx
cmovl ecx, dword [esp + 0x158]
jmp 0x100fbb4b
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x48], 0
jne 0x100fb8d6
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea eax, [eax*4 + 1]
push eax
call fcn.100e22c0
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100d2a50
mov eax, dword [0x1054ade8]
add esp, 8
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x100fb8da
mov eax, dword [esp + 0x10]
test edx, 0x1c0
je 0x100fbaf7
xor esi, esi
test dl, 0x40
je 0x100fb909
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100fb909
call fcn.100d7380
mov edx, dword [ebp + 0x14]
test al, al
je 0x100fb909
mov esi, 0x40
xor eax, eax
jmp 0x100fb962
test dl, dl
jns 0x100fb94f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100fb932
call fcn.100d7380
mov edx, dword [ebp + 0x14]
test al, al
je 0x100fb92e
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x100fb962
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100fb94f
call fcn.100d7380
mov edx, dword [ebp + 0x14]
test al, al
je 0x100fb94f
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x100fb962
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x100fbaf7
mov dword [esp + 0x120], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x124], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x128], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x110], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x12c], eax
mov eax, dword [edi + 0x3c]
mov word [esp + 0x131], cx
mov byte [esp + 0x133], cl
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], ecx
lea edx, [esi + eax*2]
mov byte [esp + 0x130], cl
mov ecx, esi
mov dword [esp + 0x11c], 0
call fcn.100d2b80
mov ecx, dword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x134], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100d2b80
mov dword [esp + 0x20], eax
mov ecx, esi
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100d2b80
mov dword [esp + 0x58], eax
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x110]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0x138]
add esp, 4
mov esi, dword [esp + 0x124]
cmp ecx, edi
je 0x100fba53
lea edx, [ecx + esi]
mov ecx, esi
call fcn.100d2820
mov edi, dword [esp + 0x34]
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe64], 1
jmp 0x100fba57
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x138]
cmp eax, dword [esp + 0x20]
je 0x100fba71
lea edx, [eax + esi]
mov ecx, esi
call fcn.100d2820
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x13c]
cmp eax, dword [esp + 0x58]
je 0x100fba8b
lea edx, [eax + esi]
mov ecx, esi
call fcn.100d2820
mov dword [edi + 0x44], eax
cmp byte [esp + 0x130], 0
je 0x100fbaeb
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x88]
cmp eax, edx
jle 0x100fbac2
cmp byte [esp + 0x70], 0
je 0x100fbac2
lea ecx, [edi + 0xc]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.100e23c0
mov esi, dword [esp + 0x124]
mov edx, dword [edi + 0xc]
push 0
push ecx
mov ecx, dword [edi + 0x14]
push esi
call fcn.100d2600
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x128]
mov dword [edi + 8], eax
mov dword [edi + 0xe60], 0xbe99999a
mov eax, dword [0x1054ade8]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
cmp byte [esp + 0x48], 0
jne 0x100fb7d8
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100fbb30
test dl, dl
je 0x100fbb2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100fbb30
add eax, 2
add ecx, 2
test dl, dl
jne 0x100fbb10
xor eax, eax
jmp 0x100fbb35
sbb eax, eax
or eax, 1
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x100fb7d8
mov ecx, dword [edi + 8]
jmp 0x100fb7e0
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 8]
cmp eax, edx
cmovl edx, eax
push edx
mov edx, esi
call fcn.100d2120
mov eax, dword [0x1054ade8]
add esp, 4
mov byte [esp + 0x53], 1
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [esp + 0x43], 0
je 0x100fbbad
cmp dword [esi + 0x19ec], eax
jne 0x100fbbad
xor edx, edx
xor ecx, ecx
call fcn.100d48e0
mov edx, dword [esp + 0x44]
test dl, dl
jne 0x100fbca4
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xac]
push 1
call fcn.100d3a40
movss xmm1, dword [0x1046f104]
add esp, 4
mov ecx, 7
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
call fcn.100d3220
movss xmm2, dword [esi + 0x1550]
mov ecx, eax
call fcn.100d36d0
movss xmm6, dword [esp + 0xb8]
add esp, 0x10
movss xmm4, dword [esp + 0x8c]
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x1548]
movss xmm3, dword [esp + 0x74]
movaps xmm2, xmm6
mov ecx, dword [0x1054ade8]
addss xmm2, xmm3
mov edx, dword [esp + 0x44]
movaps xmm1, xmm4
addss xmm1, dword [esp + 0x60]
movss dword [esp + 0xac], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x154c]
movss dword [esp + 0xf8], xmm6
movss dword [esp + 0xfc], xmm4
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x100], xmm2
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0x88], xmm2
movss dword [esp + 0xe8], xmm1
mov dword [esp + 0x10], ecx
jmp 0x100fbd26
movss xmm0, dword [esp + 0xa8]
movss xmm1, dword [esp + 0x8c]
movss xmm3, dword [esp + 0x74]
movaps xmm2, xmm1
mov ecx, dword [esp + 0x68]
addss xmm3, xmm0
addss xmm2, dword [esp + 0x60]
movss dword [esp + 0xf8], xmm0
movss dword [esp + 0xfc], xmm1
mov eax, dword [ecx + 0xf8]
mov ecx, dword [ecx + 0xfc]
movaps xmm0, xmm3
movss dword [esp + 0x88], xmm3
movaps xmm1, xmm2
movss xmm3, dword [esp + 0x74]
movss dword [esp + 0x70], xmm0
movss dword [esp + 0x100], xmm0
movss dword [esp + 0xe8], xmm2
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
cmp byte [esp + 0x52], 0
lea eax, [esp + 0xac]
movss xmm0, dword [eax + 4]
xorps xmm7, xmm7
movss xmm5, dword [eax]
movss dword [esp + 0x104], xmm1
movss dword [esp + 0x5c], xmm1
xorps xmm1, xmm1
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x84], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x80], xmm5
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x20], xmm1
je 0x100fbd8b
mov ecx, dword [edi + 0x20]
mov dword [ebp + 8], ecx
jmp 0x100fbd8e
mov ecx, dword [ebp + 8]
cmp byte [esp + 0x16], 0
mov dword [esp + 0x6c], 0
jne 0x100fbf86
cmp byte [esp + 0x7c], 0
jne 0x100fbf86
test dl, dl
je 0x100fbde1
lea edx, [esp + 0x6c]
call fcn.100f9790
mov edi, dword [esp + 0x6c]
movaps xmm0, xmm3
movss dword [esp + 0x58], xmm0
mov dword [esp + 0x54], edi
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [esi + 0x18c4]
movss dword [esp + 0x20], xmm6
jmp 0x100fbe1b
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x19ec], eax
jne 0x100fbdf4
mov edi, dword [edi + 8]
add edi, ecx
jmp 0x100fbe08
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fbdf7
mov edi, dword [ebp + 8]
sub ecx, edx
add edi, ecx
mov ecx, dword [ebp + 8]
mov eax, edi
mov dword [esp + 0x54], edi
sub eax, ecx
cmp eax, 0x200000
jge 0x100fcb16
movss xmm1, dword [0x1046f104]
xor ecx, ecx
call fcn.100d3220
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x18]
cmp byte [esp + 0x44], 0
mov dword [esp + 0x5c], 0
mov esi, dword [ecx + 0x2cc]
mov ecx, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
lea edx, [esp + 0xf8]
cmovne edx, dword [esp + 0x5c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], ecx
test eax, 0xff000000
je 0x100fca4a
test edi, edi
jne 0x100fbe95
mov ecx, dword [ebp + 8]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fbe80
mov eax, dword [ebp + 8]
sub ecx, edi
lea edi, [eax + ecx]
mov ecx, dword [esp + 0x2c]
jmp 0x100fbe98
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x100fca4a
test ecx, ecx
jne 0x100fbeae
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100fbebf
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x48]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [esp + 0x90], xmm0
test edx, edx
je 0x100fbf40
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0x90]
comiss xmm0, xmm1
jae 0x100fbef4
movss dword [esp + 0x90], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0x94]
comiss xmm0, xmm1
jae 0x100fbf10
movss dword [esp + 0x94], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0x98]
ja 0x100fbf28
movss dword [esp + 0x98], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0x9c]
ja 0x100fbf40
movss dword [esp + 0x9c], xmm0
mov eax, dword [esp + 0x3c]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xa0]
mov dword [esp], 0
push edi
push dword [ebp + 8]
push eax
push dword [esp + 0x8c]
push esi
call fcn.100f09a0
mov ecx, dword [0x1054ade8]
mov dword [esp + 0x10], ecx
jmp 0x100fca4e
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
add eax, ecx
mov dword [esp + 0x90], 0
mov ecx, dword [edi + 0x14]
xor edx, edx
xorps xmm6, xmm6
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x64], esi
mov dword [esp + 0x24], esi
cmp byte [esp + 0x16], dl
je 0x100fbfd8
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [esp + 0x64], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x90], eax
lea edx, [esi + 2]
cmp byte [esp + 0x7c], 0
je 0x100fc001
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x28]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [esp + 0x24], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
movzx eax, word [eax]
test ax, ax
je 0x100fc076
mov edi, dword [esp + 0x64]
mov esi, eax
cmp si, 0xa
jne 0x100fc05c
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
cmp edi, 0xffffffff
jne 0x100fc046
cmp ecx, dword [esp + 0x90]
jb 0x100fc046
dec edx
mov edi, eax
test edx, edx
jle 0x100fc06a
cmp dword [esp + 0x24], 0xffffffff
jne 0x100fc05c
cmp ecx, dword [esp + 0x6c]
jb 0x100fc05c
dec edx
mov dword [esp + 0x24], eax
test edx, edx
jle 0x100fc06a
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100fc022
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x90]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x4c], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x24]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, edx
cmp edx, esi
jbe 0x100fc0be
nop word [eax + eax]
cmp word [ecx - 2], 0xa
je 0x100fc0be
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100fc0b0
mov eax, dword [esp + 0x10]
movaps xmm3, xmm0
movaps xmm1, xmm0
mov esi, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x100fc129
mov edi, dword [esp + 0x90]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100fc0fc
maxss xmm3, xmm1
movaps xmm1, xmm0
jmp 0x100fc121
cmp edx, 0xd
je 0x100fc121
mov edx, eax
cmp edx, dword [esi]
jge 0x100fc111
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100fc116
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100fc0e6
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x24], 0
maxss xmm3, xmm1
movd xmm4, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x18c4]
mulss xmm4, xmm0
movss dword [esp + 0x10c], xmm3
movss dword [esp + 0x108], xmm4
jl 0x100fc207
mov edx, dword [esp + 0x6c]
mov ecx, edx
mov esi, dword [esp + 0x28]
cmp edx, esi
jbe 0x100fc17f
cmp word [ecx - 2], 0xa
je 0x100fc17f
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100fc171
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
xorps xmm6, xmm6
xorps xmm1, xmm1
mov esi, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [esi + 0x10]
cmp ecx, edx
jae 0x100fc1ea
mov edi, dword [esp + 0x6c]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100fc1bd
maxss xmm6, xmm1
movaps xmm1, xmm0
jmp 0x100fc1e2
cmp edx, 0xd
je 0x100fc1e2
mov edx, eax
cmp edx, dword [esi]
jge 0x100fc1d2
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100fc1d7
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100fc1a7
mov edi, dword [esp + 0x34]
movd xmm7, dword [esp + 0x24]
maxss xmm6, xmm1
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm7, xmm7
movss xmm0, dword [ecx + 0x18c4]
mulss xmm7, xmm0
mov edx, dword [esp + 0x44]
test dl, dl
je 0x100fc233
movd xmm1, dword [esp + 0x4c]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss dword [esp + 0x20], xmm1
movss xmm1, dword [esp + 0x74]
movaps xmm0, xmm1
movss dword [esp + 0x58], xmm0
jmp 0x100fc239
movss xmm1, dword [esp + 0x74]
cmp byte [esp + 0x16], 0
je 0x100fc312
cmp byte [edi + 0xe64], 0
je 0x100fc312
test dword [ebp + 0x14], 0x1000
jne 0x100fc2b0
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm3
mulss xmm1, dword [0x1046f054]
jbe 0x100fc28c
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100fc2ba
subss xmm0, dword [esp + 0x74]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x100fc2ba
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100fc2ba
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100fc30b
mov edx, dword [esp + 0x68]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x18c4]
movss xmm1, dword [edx + 0x6c]
comiss xmm1, xmm0
jbe 0x100fc2dd
maxss xmm0, xmm2
jmp 0x100fc2ea
movaps xmm0, xmm4
subss xmm0, dword [esp + 0x60]
maxss xmm0, xmm1
mov eax, dword [esp + 0x3c]
subss xmm1, xmm0
movss dword [edx + 0x6c], xmm0
addss xmm1, dword [eax + 4]
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x84], xmm1
mov byte [edi + 0xe64], 0
cmp byte [esp + 0x7c], 0
movss xmm3, dword [edi + 0x38]
movss dword [esp + 0x4c], xmm3
je 0x100fc61b
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [esp + 0x28]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x16], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*2]
mov dword [esp + 0x60], eax
je 0x100fc35b
movss xmm1, dword [0x1046f104]
jmp 0x100fc363
movss xmm1, dword [0x1046f0a4]
mov ecx, 0x2a
call fcn.100d3220
cmp byte [esp + 0x44], 0
mov dword [esp + 0x7c], eax
je 0x100fc380
xorps xmm0, xmm0
xorps xmm3, xmm3
jmp 0x100fc390
movss xmm3, dword [0x1046f4c0]
movss xmm0, dword [0x1046f158]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x64], xmm3
movss xmm5, dword [ecx]
addss xmm5, xmm6
movss xmm6, dword [esp + 0x30]
addss xmm6, xmm7
subss xmm5, dword [esp + 0x4c]
movss dword [esp + 0x90], xmm6
cmp esi, edx
jae 0x100fc60f
movss xmm7, dword [esp + 0x5c]
mov edi, dword [esp + 0x18]
nop word [eax + eax]
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x18c4]
comiss xmm6, xmm0
ja 0x100fc60b
movss xmm0, dword [esp + 0x8c]
comiss xmm0, xmm6
jbe 0x100fc429
cmp esi, edx
jae 0x100fc5e2
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100fc5e2
cmp esi, edx
jb 0x100fc410
jmp 0x100fc5e2
xorps xmm0, xmm0
mov eax, dword [esp + 0x10]
xorps xmm4, xmm4
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, dword [esp + 0x60]
jae 0x100fc48a
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100fc4ab
cmp ecx, 0xd
je 0x100fc47d
cmp ecx, dword [edx]
jge 0x100fc470
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x100fc475
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [esp + 0x60]
jb 0x100fc450
xorps xmm0, xmm0
mov ecx, dword [esp + 0x3c]
maxss xmm4, xmm1
comiss xmm0, xmm4
jb 0x100fc4d2
mov eax, dword [edi + 0x18c0]
cmp dword [eax], 0x20
jle 0x100fc4ba
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100fc4bf
movaps xmm4, xmm1
xorps xmm0, xmm0
maxss xmm4, xmm0
xorps xmm1, xmm1
jmp 0x100fc486
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1046f094]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss xmm1, dword [esp + 0x6c]
addss xmm4, xmm5
movss xmm2, dword [esp + 0x8c]
addss xmm1, xmm6
maxss xmm5, dword [esp + 0xa8]
movaps xmm0, xmm3
movss xmm3, dword [esp + 0x70]
subss xmm0, dword [edi + 0x18c4]
minss xmm3, xmm4
movss dword [esp + 0xc0], xmm5
addss xmm0, xmm6
movss dword [esp + 0xc8], xmm3
maxss xmm2, xmm0
movaps xmm0, xmm7
minss xmm0, xmm1
movss dword [esp + 0xc4], xmm2
comiss xmm0, dword [esp + 0x8c]
movss dword [esp + 0xcc], xmm0
jbe 0x100fc5de
comiss xmm7, xmm2
jbe 0x100fc5de
comiss xmm3, dword [esp + 0xa8]
jbe 0x100fc5de
movss xmm0, dword [esp + 0x70]
comiss xmm0, xmm5
jbe 0x100fc5de
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xd0]
push dword [esp + 0x84]
push eax
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x2cc]
call fcn.100ece10
movss xmm0, dword [esp + 0x88]
mov eax, dword [0x1054ade8]
movss xmm6, dword [esp + 0x90]
movss xmm7, dword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0xe8]
movss dword [esp + 0xe8], xmm0
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x60]
movss xmm5, dword [ecx]
movss xmm3, dword [esp + 0x64]
addss xmm6, dword [edi + 0x18c4]
subss xmm5, dword [esp + 0x4c]
movss dword [esp + 0x90], xmm6
cmp esi, edx
jb 0x100fc3e0
mov edi, dword [esp + 0x34]
movss xmm5, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x4c]
cmp byte [esp + 0x44], 0
mov esi, dword [esp + 0x54]
jne 0x100fc636
mov eax, esi
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x100fc889
mov eax, dword [esp + 0x10]
xorps xmm7, xmm7
movss xmm4, dword [0x1046f104]
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm7, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xc0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100fc66d
xorps xmm0, xmm0
jmp 0x100fc671
minss xmm0, xmm4
movss xmm2, dword [0x1046f3bc]
movss xmm6, dword [0x1046f094]
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0xc4]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x100fc6a3
xorps xmm0, xmm0
jmp 0x100fc6a7
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc8]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x100fc6cb
xorps xmm0, xmm0
jmp 0x100fc6cf
minss xmm0, xmm4
mulss xmm0, xmm2
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x100fc6e7
xorps xmm1, xmm1
jmp 0x100fc6eb
minss xmm1, xmm4
mov edx, dword [esp + 0x18]
movaps xmm0, xmm5
mulss xmm1, xmm2
subss xmm0, xmm3
mov dword [esp + 0x2c], 0
movss xmm2, dword [edx + 0x18c4]
mov edx, dword [edx + 0x18c0]
addss xmm1, xmm6
mov dword [esp + 0x70], edx
lea edx, [esp + 0xf8]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x94], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0x68]
cmp byte [esp + 0x44], 0
mov dword [esp + 0x6c], eax
cmovne edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x2cc]
mov dword [esp + 0x5c], ecx
test eax, 0xff000000
je 0x100fc88c
test esi, esi
jne 0x100fc786
mov ecx, dword [ebp + 8]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fc771
mov eax, dword [ebp + 8]
sub ecx, esi
lea esi, [eax + ecx]
mov ecx, dword [esp + 0x5c]
jmp 0x100fc789
mov eax, dword [ebp + 8]
cmp eax, esi
je 0x100fc88c
cmp dword [esp + 0x70], 0
jne 0x100fc7a2
mov eax, dword [ecx + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100fc7b3
mov eax, dword [ecx + 0x28]
movss xmm2, dword [eax + 0xc]
mov eax, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x40]
shl ecx, 4
mov eax, dword [eax + 0x48]
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esp + 0xc0], xmm0
test edx, edx
je 0x100fc838
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xc0]
comiss xmm0, xmm1
jae 0x100fc7ec
movss dword [esp + 0xc0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xc4]
comiss xmm0, xmm1
jae 0x100fc808
movss dword [esp + 0xc4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xc8]
ja 0x100fc820
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xcc]
ja 0x100fc838
movss dword [esp + 0xcc], xmm0
push dword [esp + 0x94]
test edx, edx
push dword [esp + 0x94]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0xd0]
mov dword [esp], 0
push esi
push dword [ebp + 8]
push eax
push dword [esp + 0x88]
push dword [esp + 0x7c]
call fcn.100f09a0
mov ecx, dword [0x1054ade8]
xorps xmm7, xmm7
mov dword [esp + 0x10], ecx
jmp 0x100fc890
xorps xmm7, xmm7
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x16], 0
je 0x100fca4e
mov esi, dword [esp + 0x18]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [esi + 0xb2], 0
movss dword [esp + 0x5c], xmm0
je 0x100fc8ee
comiss xmm7, xmm0
jae 0x100fc8ee
fld dword [esp + 0x5c]
fld dword [0x1046f110]
call fcn.103885e0
movss xmm0, dword [0x1046f0d4]
fstp dword [esp + 0x5c]
comiss xmm0, dword [esp + 0x5c]
jae 0x100fc8ee
xor al, al
jmp 0x100fc8f0
mov al, 1
mov ecx, dword [esp + 0x3c]
movss xmm4, dword [esp + 0x30]
movss xmm6, dword [0x1046f104]
addss xmm4, dword [esp + 0x108]
movss xmm3, dword [ecx]
addss xmm3, dword [esp + 0x10c]
movss dword [esp + 0x30], xmm4
movaps xmm0, xmm4
movaps xmm1, xmm4
subss xmm3, dword [esp + 0x4c]
subss xmm0, dword [esi + 0x18c4]
subss xmm1, dword [0x1046f11c]
movss dword [esp + 0x2c], xmm3
movaps xmm2, xmm3
movss dword [esp + 0xc0], xmm3
addss xmm2, xmm6
movss dword [esp + 0xcc], xmm1
addss xmm0, dword [0x1046f094]
movss dword [esp + 0xc8], xmm2
movss dword [esp + 0xc4], xmm0
test al, al
je 0x100fca21
comiss xmm1, dword [esp + 0x8c]
jbe 0x100fca21
movss xmm5, dword [esp + 0xe8]
comiss xmm5, xmm0
jbe 0x100fca21
comiss xmm2, dword [esp + 0xa8]
jbe 0x100fca21
movss xmm0, dword [esp + 0x88]
comiss xmm0, xmm3
jbe 0x100fca21
sub esp, 8
movss dword [esp + 0xb8], xmm1
movaps xmm1, xmm6
movss dword [esp + 0xb4], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.100d3220
add esp, 4
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xcc]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x2cc]
call fcn.100ec980
mov ecx, dword [0x1054ade8]
movss xmm3, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x30]
movss xmm6, dword [0x1046f104]
mov dword [esp + 0x10], ecx
jmp 0x100fca25
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x48], 0
jne 0x100fca52
subss xmm4, dword [esi + 0x18c4]
subss xmm3, xmm6
movss dword [esi + 0x2d58], xmm4
movss dword [esi + 0x2d54], xmm3
jmp 0x100fca52
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x44], 0
je 0x100fcb1c
mov eax, dword [ecx + 0x19b0]
movss xmm1, dword [esp + 0x20]
addss xmm1, dword [esi + 0x18c4]
movss xmm4, dword [esp + 0x58]
mov byte [eax + 0xa4], 1
mov eax, dword [ecx + 0x19b0]
movss dword [esp + 0xac], xmm4
movss dword [esp + 0xb0], xmm1
cmp byte [eax + 0xa7], 0
jne 0x100fcb05
movss xmm0, dword [eax + 0xfc]
lea ecx, [esp + 0xac]
movss xmm3, dword [eax + 0xf8]
movaps xmm2, xmm0
addss xmm2, xmm1
movss dword [esp + 0xc0], xmm3
movss xmm1, dword [0x1046f4c0]
addss xmm4, xmm3
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xcc], xmm2
movss dword [esp + 0xc8], xmm4
call fcn.100d4b30
push 0
xor edx, edx
lea ecx, [esp + 0xc4]
call fcn.100d4c60
add esp, 4
call fcn.100d76f0
call fcn.100dc850
mov eax, dword [0x1054ade8]
jmp 0x100fcb20
mov eax, dword [esp + 0x10]
jmp 0x100fcb24
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0xbc]
test cl, cl
je 0x100fcb40
call fcn.100dc020
mov eax, dword [0x1054ade8]
mov ecx, dword [esp + 0xbc]
cmp byte [esi + 0x2d90], 0
je 0x100fcb65
test cl, cl
jne 0x100fcb65
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x80]
push edi
call fcn.100e0ef0
mov eax, dword [0x1054ade8]
add esp, 4
movss xmm0, dword [esp + 0xf0]
xorps xmm6, xmm6
comiss xmm0, xmm6
jbe 0x100fcbd0
movss xmm0, dword [esp + 0xf4]
xor edx, edx
addss xmm0, dword [esi + 0x1560]
mov ecx, dword [esp + 0xec]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esi + 0x154c]
movss dword [esp + 0x84], xmm0
push dword [esp + 0x84]
push dword [esp + 0x84]
push 1
call fcn.100d33f0
mov eax, dword [0x1054ade8]
add esp, 0xc
mov cl, byte [esp + 0x53]
test cl, cl
je 0x100fcbf7
test dword [ebp + 0x14], 0x200000
jne 0x100fcbf7
mov word [eax + 0x19fb], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x144], 4
test byte [ebp + 0x14], 0x20
movzx eax, cl
movzx ecx, byte [esp + 0x3b]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret