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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x178
push esi
mov esi, dword [0x10378a34]
mov dword [esp + 0x114], ecx
mov ecx, esi
push edi
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
mov dword [esp + 0x80], edi
cmp byte [edi + 0x8f], 0
jne 0x100db52a
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [esp + 0x44], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [esp + 0x38], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0xac], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x78], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x98], eax
test dl, dl
je 0x100db1c9
call fcn.100bd030
mov esi, dword [0x10378a34]
mov ecx, dword [edi + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xd4]
mov edi, dword [esp + 0x118]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.100b2390
add esp, 4
mov dword [esp + 0x24], eax
cmp dword [esi + 0x19ec], eax
jne 0x100db1fe
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x100db20d
mov byte [esi + 0x1a24], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x100db22a
mov dl, byte [ecx]
test dl, dl
je 0x100db22a
cmp dl, 0x23
jne 0x100db224
cmp byte [ecx + 1], dl
je 0x100db22a
inc ecx
cmp ecx, 0xffffffff
jb 0x100db214
movss xmm1, dword [0x102bdb48]
movss xmm0, dword [esi + 0x18c4]
movss dword [esp + 0xf8], xmm1
cmp edi, ecx
jne 0x100db255
xorps xmm7, xmm7
movss dword [esp + 0xfc], xmm7
jmp 0x100db2a7
push ecx
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [esp + 0x94]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.100d1550
movss xmm0, dword [esp + 0x84]
xorps xmm7, xmm7
addss xmm0, dword [0x102bd79c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [esp + 0x88]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
movss xmm3, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esp + 0x68], xmm3
movss dword [esp + 0x70], xmm1
test dl, dl
je 0x100db2db
movss xmm0, dword [edi + 0x18c4]
mulss xmm0, dword [0x102bd89c]
test byte [esi + 0x1a8c], 1
movss xmm5, dword [edi + 0x154c]
mov ecx, dword [esi + 0x19b0]
movaps xmm2, xmm5
addss xmm2, xmm5
addss xmm2, xmm0
je 0x100db307
movss xmm1, dword [esi + 0x1a90]
jmp 0x100db30f
movss xmm1, dword [ecx + 0x180]
comiss xmm7, xmm1
jbe 0x100db343
mov eax, ecx
cmp dword [eax + 0x1d0], 0
movss xmm0, dword [eax + 0x22c]
je 0x100db32f
movss xmm0, dword [eax + 0x20c]
subss xmm0, dword [ecx + 0xd8]
addss xmm1, xmm0
maxss xmm1, dword [0x102bd7ac]
comiss xmm7, xmm3
cvttss2si eax, xmm1
xorps xmm0, xmm0
xorps xmm4, xmm4
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ja 0x100db360
comiss xmm7, dword [esp + 0x70]
jbe 0x100db381
cmp dword [ecx + 0x1d0], 0
movss xmm4, dword [ecx + 0x22c]
movss xmm0, dword [ecx + 0x230]
je 0x100db381
movss xmm4, dword [ecx + 0x20c]
movss xmm1, dword [0x102bd870]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x100db39a
movss dword [esp + 0x68], xmm6
jmp 0x100db3c7
comiss xmm7, xmm3
jbe 0x100db3c4
movaps xmm6, xmm4
subss xmm6, dword [ecx + 0xd8]
addss xmm6, xmm3
comiss xmm1, xmm6
movss dword [esp + 0x68], xmm6
jb 0x100db3c7
movaps xmm6, xmm1
movss dword [esp + 0x68], xmm6
jmp 0x100db3c7
movaps xmm6, xmm3
movss xmm3, dword [esp + 0x70]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x100db3e1
movaps xmm0, xmm2
movss dword [esp + 0x70], xmm0
jmp 0x100db413
comiss xmm7, xmm3
jbe 0x100db410
subss xmm0, dword [ecx + 0xdc]
addss xmm3, xmm0
comiss xmm1, xmm3
movss dword [esp + 0x70], xmm3
jb 0x100db408
movaps xmm0, xmm1
movss dword [esp + 0x70], xmm0
jmp 0x100db413
movss xmm0, dword [esp + 0x70]
jmp 0x100db413
movaps xmm0, xmm3
movss xmm1, dword [esp + 0xfc]
comiss xmm1, xmm7
jbe 0x100db42e
movaps xmm2, xmm1
addss xmm2, dword [edi + 0x1560]
jmp 0x100db431
xorps xmm2, xmm2
mov esi, dword [esp + 0x80]
movaps xmm1, xmm6
mov dword [esp + 0x64], esi
movss xmm4, dword [esi + 0xdc]
movss xmm3, dword [esi + 0xd8]
addss xmm0, xmm4
movss dword [esp + 0x9c], xmm3
addss xmm1, xmm3
movss dword [esp + 0xa0], xmm4
movss dword [esp + 0xc0], xmm3
movss dword [esp + 0xc4], xmm4
movss dword [esp + 0xa8], xmm0
movaps xmm0, xmm6
movss dword [esp + 0xa4], xmm1
addss xmm0, xmm2
movss xmm1, dword [esp + 0x70]
addss xmm1, xmm4
addss xmm0, xmm3
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0xc8], xmm0
test dl, dl
je 0x100db5be
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xc4]
call fcn.100b51d0
add esp, 4
test al, al
jne 0x100db532
movss xmm0, dword [esp + 0xc8]
lea ecx, [esp + 0x84]
subss xmm0, dword [esp + 0xc0]
movss xmm1, dword [edi + 0x154c]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xcc]
subss xmm0, dword [esp + 0xc4]
movss dword [esp + 0x88], xmm0
call fcn.100b50a0
call fcn.100bd160
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xa4]
lea edx, [esp + 0x84]
subss xmm0, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x28]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0xac]
subss xmm0, dword [esp + 0xa4]
movss dword [esp + 0x8c], xmm0
call fcn.100b7d30
add esp, 4
test al, al
jne 0x100db592
call fcn.100b7bb0
call fcn.100bd160
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x19b0]
movss xmm0, dword [esp + 0x68]
mov dword [esp + 0x64], ecx
subss xmm0, dword [ecx + 0x80]
mov eax, dword [ecx + 0x144]
or dword [ecx + 0x14c], eax
movss dword [esp + 0x68], xmm0
jmp 0x100db60a
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [esp + 0x84]
movss dword [esp + 0x88], xmm1
movaps xmm1, xmm5
movss dword [esp + 0x84], xmm0
call fcn.100b50a0
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xc4]
call fcn.100b51d0
add esp, 4
test al, al
je 0x100db52a
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x9c]
call fcn.100b5400
mov byte [esp + 0x22], al
test al, al
je 0x100db62c
mov dword [edi + 0x1d38], 1
mov eax, dword [esp + 0x24]
add edi, 0x1e08
mov edx, dword [esi + 0x17c]
xor ecx, ecx
cmp dword [edi], eax
mov eax, dword [esi + 0x174]
cmovne edi, ecx
mov ecx, dword [0x10378a34]
mov dword [esp + 0x50], edi
lea eax, [eax + 1]
mov dword [esi + 0x174], eax
and edx, 5
jne 0x100db667
inc dword [esi + 0x178]
cmp dword [ecx + 0x1be4], esi
jne 0x100db6da
cmp eax, dword [ecx + 0x1bec]
je 0x100db693
test edx, edx
jne 0x100db6c5
mov eax, dword [esi + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x100db6c5
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1af0], eax
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f], 1
cmp dword [ecx + 0x1be4], esi
jne 0x100db6b9
mov eax, dword [ecx + 0x1bec]
cmp eax, dword [esi + 0x174]
jne 0x100db6b9
mov byte [esp + 0x21], 1
jmp 0x100db6e8
mov byte [esp + 0x21], 0
mov byte [esp + 0x33], 1
jmp 0x100db6ed
mov eax, dword [esp + 0x24]
cmp dword [ecx + 0x19ec], eax
jne 0x100db6da
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x1f], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x33], 0
cmp byte [esp + 0x22], 0
je 0x100db702
cmp byte [ecx + 0x3d8], 0
mov byte [esp + 0x15], 1
jne 0x100db707
mov byte [esp + 0x15], 0
mov esi, dword [ecx + 0x19ec]
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x100db735
cmp dword [ecx + 0x1aec], eax
je 0x100db72e
cmp dword [ecx + 0x1ae0], eax
jne 0x100db735
cmp dword [ecx + 0x1b00], 3
jne 0x100db735
mov byte [esp + 0x20], 1
jmp 0x100db73a
mov byte [esp + 0x20], 0
mov eax, dword [esp + 0x38]
test al, al
je 0x100db784
test edi, edi
je 0x100db784
test esi, esi
jne 0x100db784
mov eax, dword [esp + 0x64]
xor edx, edx
mov ecx, dword [eax + 0xcc]
mov eax, dword [eax + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100b2390
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp dword [ecx + 0x1a20], eax
jne 0x100db780
mov byte [esp + 0x17], 1
jmp 0x100db796
mov eax, dword [esp + 0x38]
mov byte [esp + 0x17], 0
test al, al
je 0x100db7c1
mov byte [esp + 0x17], 0
test edi, edi
je 0x100db7c1
mov eax, dword [esp + 0x64]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xcc]
mov eax, dword [eax + 0xd4]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100b2390
add esp, 4
cmp esi, eax
jne 0x100db7c1
mov al, 1
jmp 0x100db7c3
xor al, al
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x23], al
mov byte [esp + 0x3f], 0
cmp dword [esi + 0x19ec], ecx
mov cl, byte [esp + 0x20]
je 0x100db7f8
mov edx, dword [ebp + 0x14]
test dl, 0x10
jne 0x100db7ec
test cl, cl
je 0x100db7f8
cmp byte [esp + 0x38], 0
mov byte [esp + 0x34], 1
je 0x100db7fd
mov byte [esp + 0x34], 0
cmp byte [esp + 0x1f], 0
jne 0x100db827
cmp byte [esp + 0x15], 0
jne 0x100db827
cmp byte [esp + 0x17], 0
jne 0x100db827
test cl, cl
jne 0x100db827
mov byte [esp + 0x1f], cl
test al, al
jne 0x100db82c
mov byte [esp + 0x32], al
jmp 0x100dba4e
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x24]
mov byte [esp + 0x32], 1
mov dword [esp + 0x50], edi
cmp dword [esi + 0x19ec], eax
je 0x100dbb06
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x1e08]
mov dword [esp + 0x50], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100db860
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100db89d
test eax, eax
je 0x100db886
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100db88e
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2b90
push esi
push dword [ebp + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.101f5840
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [esp + 0x2c], edx
cmp edx, esi
jle 0x100db8f2
test esi, esi
je 0x100db8d6
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100db8db
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c2c00
mov edx, dword [esp + 0x2c]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x100db914
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.100c2b90
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [esp + 0x2c], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100db985
mov edi, eax
cmp byte [edi], 0
je 0x100db979
push 0
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.100b2700
add edi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100db975
cmp eax, 0xffff
ja 0x100db964
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x100db938
jmp 0x100db979
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x100db9c3
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov dword [edi + 0x44], esi
jmp 0x100dba1c
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe58], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x50], ecx
mov ecx, dword [esp + 0x38]
mov al, cl
xor al, 1
mov dword [edi + 0xe52], 0x630000
mov dword [edi + 0xe5c], 0x3e7
mov dword [edi + 0x48], 0x10000
mov byte [edi + 0x4c], al
test cl, cl
jne 0x100dba20
mov ecx, dword [esp + 0x34]
mov eax, 1
cmp byte [esp + 0x21], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x38]
test dword [ebp + 0x14], 0x2000
je 0x100dba2d
mov byte [edi + 0x48], 1
mov esi, dword [esp + 0x18]
test cl, cl
jne 0x100dba4e
cmp byte [esp + 0x33], cl
jne 0x100dba49
cmp byte [esp + 0x15], cl
je 0x100dba4e
cmp byte [esi + 0x100], cl
je 0x100dba4e
mov byte [esp + 0x34], 1
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
je 0x100dbb06
cmp byte [esp + 0x1f], 0
je 0x100dbafe
mov edx, dword [esp + 0x80]
mov ecx, eax
call fcn.100b4f00
call fcn.100b4fe0
mov ecx, edx
call fcn.100bc880
mov eax, dword [esi + 0x1a00]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [esp + 0x38], 0
mov dword [esi + 0x1a00], eax
jne 0x100dbaa0
test dl, dl
jns 0x100dbaa9
or eax, 0xc
mov dword [esi + 0x1a00], eax
mov eax, dword [esi + 0x1a08]
or dword [esi + 0x1a04], 2
or eax, 0x180
cmp byte [esp + 0x38], 0
mov ecx, dword [esi + 0x1a0c]
mov dword [esi + 0x1a08], eax
mov dword [esi + 0x1a0c], ecx
je 0x100dbae3
or eax, 0x60
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
test edx, 0x440
je 0x100dbafa
or eax, 1
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100dbb3f
test edi, edi
jne 0x100dbb17
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100dbb3f
cmp byte [esi + 0x3d8], 0
je 0x100dbb4a
cmp byte [esp + 0x32], 0
jne 0x100dbb4a
cmp byte [esp + 0x1f], 0
jne 0x100dbb4a
mov byte [esp + 0x3f], 1
mov cl, 1
jmp 0x100dbb50
test edi, edi
je 0x100dbb4e
cmp byte [esp + 0x23], 0
je 0x100dbb4e
mov cl, 1
jmp 0x100dbb50
xor cl, cl
mov byte [esp + 0x1f], cl
test edi, edi
je 0x100dbb6b
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dbb6b
test cl, cl
je 0x100dbb6b
mov edx, 1
jmp 0x100dbb6d
xor dl, dl
cmp byte [esp + 0x44], 0
mov dword [esp + 0x90], edx
mov byte [esp + 0x57], dl
mov byte [esp + 0x6f], 0
mov byte [esp + 0x33], 0
je 0x100dbc8e
test edi, edi
je 0x100dbc8e
test cl, cl
jne 0x100dbba1
test dl, dl
je 0x100dbc96
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100dbbdb
test eax, eax
je 0x100dbbc1
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100dbbc9
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2c00
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [esp + 0x2c], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100dbc3f
mov edi, eax
cmp byte [edi], 0
je 0x100dbc33
push 0
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.100b2700
add edi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100dbc2f
cmp eax, 0xffff
ja 0x100dbc1f
mov word [esi], ax
add esi, 2
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x100dbbf3
jmp 0x100dbc33
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x44]
xor edx, edx
movzx eax, byte [esp + 0x57]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov cl, byte [esp + 0x1f]
cmovne edx, eax
mov dword [edi + 0x44], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x90], edx
test cl, cl
jne 0x100dbca2
test dl, dl
jne 0x100dbca2
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100dbcb8
cmp byte [esp + 0x44], 0
jne 0x100dbcb8
test edi, edi
je 0x100dbcb8
cmp byte [edi + 0x30], 0
mov byte [esp + 0x57], 1
jne 0x100dbcbd
mov byte [esp + 0x57], 0
cmp byte [esp + 0xac], 0
je 0x100dbdde
mov edx, dword [esi + 0x18c0]
cmp dword [edx + 0x14], 0x2a
jg 0x100dbcdc
mov esi, dword [edx + 0x2c]
jmp 0x100dbcfb
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100dbcf2
mov esi, dword [edx + 0x2c]
jmp 0x100dbcfb
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x18]
add edi, 0x2c7c
mov dword [esp + 0x40], edi
mov dword [edi + 0x10], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [edx + 0x18c0]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edi + 0x30], ecx
mov ecx, edi
mov dword [edi + 0x34], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x4c]
mov dword [edi + 0x4c], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x50]
mov dword [edi + 0x50], eax
mov eax, dword [edx + 0x18c0]
mov eax, dword [eax + 0x38]
mov dword [edi + 0x2c], esi
mov dword [edi + 0x38], eax
mov eax, dword [esi + 4]
mov esi, dword [0x10378a34]
mov dword [edi + 0xc], eax
call fcn.100bcaa0
lea eax, [esp + 0x40]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.100c2960
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
lea esi, [ecx + 0x4c]
mov edi, dword [esi + 4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
cmp ecx, edi
jne 0x100dbdc3
inc ecx
test edi, edi
je 0x100dbdb1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100dbdb6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c2810
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x40]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x4c]
inc dword [esi]
call fcn.100cb340
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], 0
cmp dword [esi + 0x19ec], ecx
jne 0x100dc1f9
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 + 0x8c], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
cmp byte [esi + 0xf0], 0
mov dword [esi + 0x2f84], 1
sete al
cmp byte [esp + 0x38], 0
mov byte [esi + 0x19f9], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [esp + 0x9c]
subss xmm6, dword [esi + 0x1548]
addss xmm6, dword [edi + 0x38]
je 0x100dbe87
mov eax, dword [esp + 0x64]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [esi + 0x154c]
jmp 0x100dbe97
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, dword [0x102bd73c]
cmp byte [esp + 0x34], 0
mov al, byte [esi + 0xb1]
mov byte [esp + 0x17], al
jne 0x100dc01d
mov cl, byte [esp + 0x22]
test cl, cl
je 0x100dbec4
test al, al
jne 0x100dbf31
cmp byte [esi + 0x3e2], al
jne 0x100dc01d
cmp byte [esi + 0x3d8], 0
je 0x100dbf88
cmp byte [edi + 0xe65], 0
jne 0x100dbf88
test cl, cl
je 0x100dc03c
cmp byte [edi + 0x4c], 0
je 0x100dbf08
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100d54a0
movss xmm2, dword [esp + 0xe0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d57c0
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 0x100dc038
cmp byte [esi + 0x3e2], 0
je 0x100dbec4
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100d5ba0
mov edx, dword [ebp + 0x14]
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100dc038
cmp byte [esi + 0xf0], 0
je 0x100dc03c
cmp byte [edi + 0xe65], 0
jne 0x100dc045
movss xmm0, dword [esi + 0x378]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100dbfc7
movss xmm0, dword [esi + 0x37c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100dc03c
cmp byte [edi + 0x4c], 0
je 0x100dbfe9
push 0
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.100d54a0
movss xmm2, dword [esp + 0xe0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100dbff7
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d57c0
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 0x100dc038
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 + 0x17]
cmp byte [edi + 0xe65], 0
je 0x100dc055
cmp byte [esi + 0xf0], 0
jne 0x100dc055
mov byte [edi + 0xe65], 0
cmp byte [esi + 0x100], 0
je 0x100dc067
cmp byte [esi + 0x102], 0
je 0x100dc074
test al, al
je 0x100dc07b
cmp byte [esi + 0x103], 0
je 0x100dc07b
mov byte [esp + 0x15], 1
jmp 0x100dc080
mov byte [esp + 0x15], 0
test edx, 0x400
je 0x100dc262
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100dc262
call fcn.100b78e0
mov ecx, dword [esp + 0x44]
test al, al
mov al, byte [esp + 0x15]
je 0x100dc138
test al, al
jne 0x100dc138
cmp byte [esi + 0x101], al
jne 0x100dc138
test cl, cl
jne 0x100dc138
mov ecx, dword [esi + 0x1508]
mov eax, dword [esi + 0x1500]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x100dc0f0
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x100dc130
cmp ecx, edx
jb 0x100dc0e0
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x2c]
sub esp, 8
mov dword [esp + 0x34], 9
call fcn.100daf90
add esp, 8
test al, al
je 0x100dc130
push dword [esp + 0x2c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x44]
mov al, byte [esp + 0x15]
mov edx, dword [ebp + 0x14]
cmp dword [esi + 0x1500], 0
jle 0x100dc1f9
test al, al
jne 0x100dc1c5
test cl, cl
jne 0x100dc1c5
cmp byte [esp + 0x20], cl
jne 0x100dc1c5
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 + 0x2c], eax
cmp eax, 9
jne 0x100dc17c
cmp byte [ecx + 0x101], 0
jne 0x100dc1b5
sub esp, 8
lea ecx, [esp + 0x34]
call fcn.100daf90
add esp, 8
test al, al
je 0x100dc1b1
push dword [esp + 0x2c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [ecx + 0x1500]
jl 0x100dc160
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x1504]
test ecx, ecx
jns 0x100dc1eb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x1500]
call fcn.100c2c00
mov dword [esi + 0x1500], 0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor cl, cl
mov byte [esp + 0x16], cl
cmp dword [esi + 0x19ec], eax
jne 0x100dd223
cmp byte [esi + 0x19f8], cl
jne 0x100dcc77
cmp byte [esp + 0x3f], cl
jne 0x100dcc77
mov cl, byte [esi + 0x101]
mov eax, 0x400000
xor esi, esi
test cl, cl
cmovne esi, eax
mov eax, dword [esp + 0x18]
mov dl, byte [eax + 0xb1]
mov byte [esp + 0x77], dl
test dl, dl
je 0x100dc27b
cmp byte [eax + 0x103], 0
je 0x100dc26f
cmp byte [eax + 0x100], 0
jne 0x100dc26f
mov eax, 1
jmp 0x100dc271
mov al, byte [esp + 0x15]
mov ecx, dword [esp + 0x44]
jmp 0x100dc13b
xor eax, eax
test eax, eax
je 0x100dc29e
mov eax, dword [esp + 0x18]
jmp 0x100dc28d
cmp byte [eax + 0x100], 0
je 0x100dc29e
cmp byte [eax + 0x103], 0
jne 0x100dc29e
cmp byte [eax + 0x102], 0
jne 0x100dc29e
test cl, cl
jne 0x100dc29e
mov ah, 1
jmp 0x100dc2a0
xor ah, ah
mov byte [esp + 0x17], ah
test dl, dl
je 0x100dc2da
mov edi, dword [esp + 0x18]
cmp byte [edi + 0x103], 0
mov edi, dword [esp + 0x50]
je 0x100dc2da
test cl, cl
mov ecx, dword [esp + 0x18]
je 0x100dc2de
cmp byte [ecx + 0x100], 0
jne 0x100dc2de
cmp byte [ecx + 0x102], 0
jne 0x100dc2de
mov byte [esp + 0x23], 1
jmp 0x100dc2e7
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x23], 0
test dl, dl
je 0x100dc35c
cmp byte [ecx + 0x103], 0
mov dl, byte [ecx + 0x102]
mov byte [esp + 0x21], dl
je 0x100dc367
cmp byte [ecx + 0x100], 0
jne 0x100dc367
test dl, dl
jne 0x100dc367
mov cl, byte [ecx + 0x100]
mov byte [esp + 0x15], 1
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x101], 0
mov byte [esp + 0x20], 0
je 0x100dc3cc
mov byte [esp + 0x20], 0
test cl, cl
jne 0x100dc3cc
mov byte [esp + 0x20], cl
cmp byte [edx + 0x102], cl
jne 0x100dc3cc
mov byte [esp + 0x20], cl
cmp byte [edx + 0x103], cl
jne 0x100dc3cc
mov byte [esp + 0x22], 1
mov byte [esp + 0x20], cl
jmp 0x100dc3d1
mov dl, byte [ecx + 0x100]
mov byte [esp + 0x23], 0
mov cl, byte [ecx + 0x100]
mov al, dl
mov byte [esp + 0x21], al
mov byte [esp + 0x15], 0
test cl, cl
je 0x100dc312
mov edx, dword [esp + 0x18]
mov byte [esp + 0x21], al
mov byte [esp + 0x15], 0
cmp byte [edx + 0x101], 0
jne 0x100dc316
cmp byte [edx + 0x102], 0
mov byte [esp + 0x21], al
mov byte [esp + 0x15], 0
jne 0x100dc316
cmp byte [edx + 0x103], 0
mov byte [esp + 0x21], al
mov byte [esp + 0x15], 0
jne 0x100dc316
mov byte [esp + 0x20], 1
mov byte [esp + 0x21], al
mov byte [esp + 0x15], 0
mov byte [esp + 0x22], 0
test ah, ah
je 0x100dc3ed
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x100dc3ed
call fcn.100b78e0
test al, al
jne 0x100dc409
cmp byte [esp + 0x22], 0
je 0x100dc430
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100dc430
call fcn.100b78e0
test al, al
je 0x100dc430
cmp byte [esp + 0x44], 0
jne 0x100dc430
cmp byte [esp + 0xac], 0
jne 0x100dc430
cmp byte [esp + 0x38], 0
je 0x100dc429
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dc430
mov byte [esp + 0x32], 1
jmp 0x100dc435
mov byte [esp + 0x32], 0
cmp byte [esp + 0x17], 0
je 0x100dc451
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100dc451
call fcn.100b78e0
test al, al
jne 0x100dc46d
cmp byte [esp + 0x20], 0
je 0x100dc48d
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100dc48d
call fcn.100b78e0
test al, al
je 0x100dc48d
cmp byte [esp + 0xac], 0
jne 0x100dc48d
cmp byte [esp + 0x38], 0
je 0x100dc486
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dc48d
mov byte [esp + 0x20], 1
jmp 0x100dc492
mov byte [esp + 0x20], 0
cmp byte [esp + 0x17], 0
je 0x100dc4ae
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100dc4ae
call fcn.100b78e0
test al, al
jne 0x100dc4ca
cmp byte [esp + 0x22], 0
je 0x100dc4d6
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100dc4d6
call fcn.100b78e0
test al, al
je 0x100dc4d6
cmp byte [esp + 0x44], 0
mov byte [esp + 0x6e], 1
je 0x100dc4db
mov byte [esp + 0x6e], 0
mov dl, byte [esp + 0x17]
test dl, dl
je 0x100dc514
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100dc514
call fcn.100b78e0
test al, al
je 0x100dc510
cmp byte [esp + 0x44], 0
jne 0x100dc510
cmp byte [esp + 0x78], 0
je 0x100dc510
mov byte [esp + 0x22], 1
jmp 0x100dc51d
mov dl, byte [esp + 0x17]
mov byte [esp + 0x22], 0
test dl, dl
je 0x100dc535
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100dc535
call fcn.100b78e0
test al, al
jne 0x100dc554
cmp byte [esp + 0x23], 0
je 0x100dc567
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100dc567
call fcn.100b78e0
test al, al
je 0x100dc567
cmp byte [esp + 0x44], 0
jne 0x100dc567
cmp byte [esp + 0x78], 0
mov byte [esp + 0x23], 1
jne 0x100dc56c
mov byte [esp + 0x23], 0
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100dc5c3
call fcn.100b78e0
test al, al
je 0x100dc5c3
cmp byte [esp + 0x15], 0
je 0x100dc59f
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
cmp byte [esp + 0x21], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100dc61a
call fcn.100b78e0
test al, al
je 0x100dc61a
cmp byte [esp + 0x15], 0
je 0x100dc5f6
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
cmp byte [esp + 0x21], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100dc68c
call fcn.100b78e0
test al, al
je 0x100dc68c
cmp byte [esp + 0x38], 0
je 0x100dc68c
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x100], 0
je 0x100dc66e
mov edx, dword [esp + 0x64]
mov esi, eax
xorps xmm2, xmm2
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x18c4]
mov dword [edx + 0x7c], 0
maxss xmm0, xmm2
movss dword [edx + 0x74], xmm0
jmp 0x100dcc53
movzx eax, byte [esp + 0x15]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.100d5ba0
jmp 0x100dcc3b
mov ecx, dword [0x10378a34]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100dc708
call fcn.100b78e0
test al, al
je 0x100dc708
cmp byte [esp + 0x38], 0
je 0x100dc708
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x100], 0
je 0x100dc6ea
mov ecx, dword [esp + 0x64]
mov esi, eax
mov eax, dword [0x10378a34]
movss xmm0, dword [esi + 0x18c4]
mov eax, dword [eax + 0x19b0]
addss xmm0, dword [ecx + 0x54]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x74], xmm0
jmp 0x100dcc53
movzx eax, byte [esp + 0x15]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100dc748
call fcn.100b78e0
test al, al
je 0x100dc748
mov ecx, dword [esp + 0x18]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200004
or eax, 0x200006
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100dc788
call fcn.100b78e0
test al, al
je 0x100dc788
mov ecx, dword [esp + 0x18]
lea edx, [edi + 0x3c]
mov eax, esi
or esi, 0x200005
or eax, 0x200007
cmp byte [ecx + 0x100], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100dc7ba
call fcn.100b78e0
test al, al
je 0x100dc7ba
cmp byte [esp + 0x44], 0
jne 0x100dc7ba
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100dc84f
call fcn.100b78e0
test al, al
je 0x100dc84f
cmp byte [esp + 0x44], 0
jne 0x100dc84f
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100dc839
cmp byte [esp + 0x21], 0
je 0x100dc7f0
push 0x60000c
jmp 0x100dc81b
cmp byte [esp + 0x77], 0
je 0x100dc839
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x103], 0
je 0x100dc839
cmp byte [eax + 0x102], 0
jne 0x100dc839
cmp byte [eax + 0x100], 0
jne 0x100dc839
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
or esi, 0x200009
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.100d5ba0
jmp 0x100dcc3b
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x100dc864
call fcn.100b78e0
test al, al
jne 0x100dc881
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100dc908
call fcn.100b78e0
test al, al
je 0x100dc908
mov edx, dword [ebp + 0x14]
mov eax, edx
mov esi, dword [esp + 0x18]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x38], 0
je 0x100dc8a4
mov cl, byte [esi + 0x100]
test al, al
je 0x100dc8b3
test cl, cl
jne 0x100dc8b7
mov byte [esp + 0x3f], 1
mov byte [esp + 0x33], 1
jmp 0x100dcc53
test cl, cl
jne 0x100dc8a4
cmp byte [esp + 0x44], 0
jne 0x100dcc53
sub esp, 8
mov dword [esp + 0x34], 0xa
lea ecx, [esp + 0x34]
call fcn.100daf90
add esp, 8
test al, al
je 0x100dcc53
push dword [esp + 0x2c]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5ba0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
jmp 0x100dcc53
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x100dc92c
call fcn.100b78e0
test al, al
je 0x100dc92c
mov esi, dword [esp + 0x18]
mov cl, 1
mov byte [esp + 0x3f], cl
jmp 0x100dcc57
mov al, byte [esp + 0x22]
test al, al
jne 0x100dcc1c
cmp byte [esp + 0x23], al
jne 0x100dcc1c
cmp byte [esp + 0x17], al
je 0x100dc976
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100dc976
call fcn.100b78e0
test al, al
je 0x100dc976
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
jmp 0x100dcc48
mov al, byte [esp + 0x32]
test al, al
jne 0x100dcb12
cmp byte [esp + 0x20], al
jne 0x100dcb12
cmp byte [esp + 0x6e], al
je 0x100dcc4f
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x100dc9bb
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x100dc9c0
jmp 0x100dcc4f
mov esi, 0x102b6628
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dc9c5
mov eax, dword [0x10378a34]
sub ecx, edx
test eax, eax
je 0x100dc9dd
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.101ff682
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
cmp byte [esi], al
je 0x100dca52
xor edi, edi
nop
push 0
mov edx, esi
lea ecx, [esp + 0x4c]
call fcn.100b2700
add esp, 4
add esi, eax
cmp dword [esp + 0x48], 0
je 0x100dca42
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x48]
sub esp, 8
call fcn.100daf90
add esp, 8
test al, al
je 0x100dca3d
mov ecx, dword [esp + 0x28]
mov ax, word [esp + 0x48]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100dca00
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x100dcaf1
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x100dca86
cmp ecx, eax
jle 0x100dca76
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x100dca7f
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x100dca86
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x100dca8e
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5b10
push dword [esp + 0x34]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [esp + 0x2c]
call fcn.100d5670
add esp, 8
test al, al
je 0x100dcad2
push dword [esp + 0x34]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push 0
call fcn.100d69d0
mov eax, dword [esp + 0x3c]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x100dcae6
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x100dcae6
dec eax
mov word [edi + 0xe52], ax
mov ecx, dword [esp + 0x28]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x100dcb04
mov eax, dword [0x10378a34]
test eax, eax
je 0x100dcb04
dec dword [eax + 0x374]
push ecx
call fcn.101feb05
add esp, 4
jmp 0x100dcc4f
mov esi, dword [esp + 0x18]
cmp dword [esi + 0xd4], 0
je 0x100dcbdd
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100dcb37
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100dcb3c
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x80], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100b29c0
lea ecx, [eax + 1]
mov eax, dword [0x10378a34]
mov dword [esp + 0x40], ecx
test eax, eax
je 0x100dcb6b
inc dword [eax + 0x374]
push ecx
call fcn.101ff682
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x84]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100b2890
mov eax, dword [0x10378a34]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x100dcbbe
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10378a34]
add esp, 8
test esi, esi
je 0x100dcbcc
test eax, eax
je 0x100dcbcc
dec dword [eax + 0x374]
push esi
call fcn.101feb05
mov al, byte [esp + 0x36]
add esp, 4
mov esi, dword [esp + 0x18]
test al, al
je 0x100dcc53
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100dcbfd
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
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dcc4f
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d5b10
mov byte [edi + 0x4b], 0
jmp 0x100dcc4f
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100d5ba0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe60], 0xbe99999a
add esp, 4
mov byte [edi + 0xe64], 1
mov esi, dword [esp + 0x18]
mov cl, byte [esp + 0x16]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dcc6a
cmp byte [esp + 0x1f], 0
je 0x100dcc6a
mov al, 1
jmp 0x100dcc6c
xor al, al
or byte [esp + 0x90], al
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100dd223
xor eax, eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x34], eax
test cl, cl
je 0x100dcdae
cmp byte [esp + 0x44], al
jne 0x100dccdc
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100dccc7
test dl, dl
je 0x100dccc3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100dccc7
add eax, 2
add ecx, 2
test dl, dl
jne 0x100dcca7
xor eax, eax
jmp 0x100dcccc
sbb eax, eax
or eax, 1
test eax, eax
je 0x100dccdc
mov eax, dword [edi + 0x24]
dec eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], eax
cmp byte [esp + 0x33], 0
mov edx, dword [ebp + 0x14]
je 0x100dccef
test dl, 0x20
jne 0x100dcdb1
mov esi, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
test esi, esi
je 0x100dd201
cmp dword [esp + 0x8c], ecx
je 0x100dd1cc
cmp byte [esp + 0x98], 0
je 0x100dd1cc
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0x164], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x15c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
push eax
xor eax, eax
movlpd qword [esp + 0x174], xmm0
movlpd qword [esp + 0x17c], xmm0
mov dword [esp + 0x154], 0x40000
mov dword [esp + 0x158], edx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x15c], 0
call eax
mov edx, dword [esp + 0x170]
add esp, 4
mov eax, dword [esp + 0x164]
mov dword [ebp + 8], eax
lea ecx, [edx - 1]
cmp dword [esp + 0x168], ecx
cmovl ecx, dword [esp + 0x168]
jmp 0x100dd1cf
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x44], 0
jne 0x100dce14
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x100dcdfd
test eax, eax
je 0x100dcde3
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100dcdeb
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2b90
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100b2890
mov edx, dword [ebp + 0x14]
add esp, 8
test edx, 0x1c0
je 0x100dd17d
xor esi, esi
test dl, 0x40
je 0x100dce48
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100dce48
call fcn.100b78e0
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dce48
mov esi, 0x40
xor eax, eax
jmp 0x100dcea3
test dl, dl
jns 0x100dce90
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100dce6e
call fcn.100b78e0
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dce6e
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x100dcea3
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100dce90
call fcn.100b78e0
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dce90
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x100dcea3
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x100dd17d
mov dword [esp + 0x130], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x134], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x138], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x120], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x13c], eax
mov eax, dword [edi + 0x3c]
mov word [esp + 0x141], cx
mov byte [esp + 0x143], cl
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
lea edx, [esi + eax*2]
mov byte [esp + 0x140], cl
mov ecx, esi
mov dword [esp + 0x12c], 0
call fcn.100b29c0
mov edx, dword [esp + 0x50]
mov edi, eax
mov ecx, esi
mov dword [esp + 0x144], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.100b29c0
mov dword [esp + 0x4c], eax
mov ecx, esi
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100b29c0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x120]
push eax
xor eax, eax
call eax
mov edx, dword [esp + 0x148]
add esp, 4
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x60], ecx
cmp edx, edi
je 0x100dcfdc
lea edi, [edx + ecx]
mov esi, ecx
xor eax, eax
mov dword [esp + 0x28], eax
nop dword [eax]
test edi, edi
je 0x100dcf98
cmp esi, edi
jae 0x100dcfc8
cmp byte [esi], 0
je 0x100dcfc8
push edi
mov edx, esi
lea ecx, [esp + 0x44]
call fcn.100b2700
add esi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100dcfc4
cmp eax, 0xffff
mov eax, dword [esp + 0x28]
ja 0x100dcf90
inc eax
jmp 0x100dcf85
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x3c], eax
mov byte [esi + 0xe64], 1
jmp 0x100dcfe0
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x148]
cmp eax, dword [esp + 0x4c]
je 0x100dd03b
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [esp + 0x28], eax
test esi, esi
je 0x100dd000
cmp edi, esi
jae 0x100dd030
cmp byte [edi], 0
je 0x100dd030
push esi
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.100b2700
add edi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100dd02c
cmp eax, 0xffff
mov eax, dword [esp + 0x28]
ja 0x100dcff8
inc eax
jmp 0x100dcff4
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x14c]
cmp eax, dword [esp + 0x2c]
je 0x100dd092
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [esp + 0x28], eax
test esi, esi
je 0x100dd05b
cmp edi, esi
jae 0x100dd08b
cmp byte [edi], 0
je 0x100dd08b
push esi
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.100b2700
add edi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100dd087
cmp eax, 0xffff
mov eax, dword [esp + 0x28]
ja 0x100dd053
inc eax
jmp 0x100dd04f
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x50]
mov dword [esi + 0x44], eax
cmp byte [esp + 0x140], 0
je 0x100dd17a
mov edi, dword [esp + 0x138]
mov ecx, dword [esp + 0x8c]
cmp edi, ecx
jle 0x100dd100
cmp byte [esp + 0x98], 0
je 0x100dd100
mov eax, dword [esi + 0x10]
sub edi, ecx
add edi, dword [esi + 0xc]
cmp edi, eax
jle 0x100dd0fd
test eax, eax
je 0x100dd0db
cdq
sub eax, edx
lea edx, [esi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100dd0e3
mov ecx, 8
lea edx, [esi + 0xc]
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c2c00
mov eax, dword [esp + 0x134]
mov dword [esp + 0x60], eax
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov eax, dword [esi + 0xc]
dec eax
mov dword [esp + 0x2c], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x4c], eax
cmp ecx, eax
jae 0x100dd15a
mov esi, dword [esp + 0x60]
nop dword [eax]
cmp byte [esi], 0
je 0x100dd152
push 0
mov edx, esi
lea ecx, [esp + 0x44]
call fcn.100b2700
add esi, eax
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100dd152
cmp eax, 0xffff
ja 0x100dd14c
mov word [edi], ax
add edi, 2
cmp edi, dword [esp + 0x4c]
jb 0x100dd120
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [esp + 0x138]
sar edi, 1
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xe60], 0xbe99999a
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x44], 0
mov edi, dword [esp + 0x50]
jne 0x100dccef
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100dd1b4
test dl, dl
je 0x100dd1b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100dd1b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x100dd194
xor eax, eax
jmp 0x100dd1b9
sbb eax, eax
or eax, 1
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x100dccef
mov ecx, dword [edi + 8]
jmp 0x100dccf7
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x100dd1fc
jbe 0x100dd1f4
lea eax, [edx - 1]
push eax
push esi
push dword [ebp + 8]
call fcn.102008b0
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [edx + eax - 1], 0
mov byte [esp + 0x6f], 1
mov esi, dword [esp + 0x18]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [esp + 0x3f], 0
mov ecx, dword [esp + 0x24]
je 0x100dd243
cmp dword [esi + 0x19ec], ecx
jne 0x100dd243
xor edx, edx
xor ecx, ecx
call fcn.100b4f00
mov ecx, dword [esp + 0x24]
cmp byte [esp + 0x38], 0
jne 0x100dd3df
mov edx, ecx
lea ecx, [esp + 0x9c]
push 1
call fcn.100b3fc0
mov eax, dword [0x10378a34]
xorps xmm3, xmm3
movss xmm5, dword [0x102bd7ac]
add esp, 4
movups xmm0, xmmword [eax + 0x1630]
comiss xmm3, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xd0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100dd299
xorps xmm0, xmm0
jmp 0x100dd29d
minss xmm0, xmm5
movss xmm2, dword [0x102bda54]
movss xmm4, dword [0x102bd73c]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xd4]
shl edx, 0x10
comiss xmm3, xmm0
jbe 0x100dd2cf
xorps xmm0, xmm0
jmp 0x100dd2d3
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xd8]
shl eax, 8
or edx, eax
comiss xmm3, xmm0
jbe 0x100dd2f7
xorps xmm0, xmm0
jmp 0x100dd2fb
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
or edx, eax
comiss xmm3, xmm1
jbe 0x100dd313
xorps xmm1, xmm1
jmp 0x100dd317
minss xmm1, xmm5
push dword [esp + 0xa8]
mulss xmm1, xmm2
push dword [esp + 0xa8]
movss xmm2, dword [esi + 0x1550]
push dword [esp + 0xa8]
addss xmm1, xmm4
push dword [esp + 0xa8]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.100b37e0
movss xmm4, dword [esp + 0xac]
add esp, 0x10
movss xmm6, dword [esp + 0xa0]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x1548]
movss xmm3, dword [esp + 0x68]
movss xmm1, dword [esp + 0x70]
movaps xmm2, xmm3
addss xmm2, xmm4
movss dword [esp + 0x100], xmm4
addss xmm1, xmm6
movss dword [esp + 0x104], xmm6
movss dword [esp + 0xc0], xmm0
movaps xmm0, xmm6
addss xmm0, dword [esi + 0x154c]
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x108], xmm2
movss dword [esp + 0x8c], xmm2
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0x98], xmm1
jmp 0x100dd461
movss xmm0, dword [esp + 0x9c]
movss xmm1, dword [esp + 0xa0]
movss xmm3, dword [esp + 0x68]
movaps xmm2, xmm1
mov ecx, dword [esp + 0x64]
addss xmm3, xmm0
addss xmm2, dword [esp + 0x70]
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x104], xmm1
mov eax, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0xdc]
movaps xmm0, xmm3
movss dword [esp + 0x8c], xmm3
movaps xmm1, xmm2
movss xmm3, dword [esp + 0x68]
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x108], xmm0
movss dword [esp + 0x98], xmm2
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
cmp byte [esp + 0x57], 0
lea eax, [esp + 0xc0]
movss xmm5, dword [eax]
xorps xmm7, xmm7
movss xmm0, dword [eax + 4]
mov dword [esp + 0x5c], eax
movss dword [esp + 0x10c], xmm1
movss dword [esp + 0x78], xmm1
movss dword [esp + 0x48], xmm5
movss dword [esp + 0x84], xmm5
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x80], xmm7
movss dword [esp + 0x2c], xmm7
je 0x100dd4c3
mov edx, dword [edi + 0x20]
mov dword [ebp + 8], edx
jmp 0x100dd4c6
mov edx, dword [ebp + 8]
cmp byte [esp + 0x1f], 0
jne 0x100dd779
cmp byte [esp + 0x90], 0
jne 0x100dd779
cmp byte [esp + 0x38], 0
je 0x100dd535
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dl, byte [edx]
inc edi
test dl, dl
je 0x100dd504
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x100dd4f2
mov al, byte [edi - 1]
dec edi
mov dword [esp + 0x24], edi
cmp al, 0xa
je 0x100dd515
cmp al, 0xd
je 0x100dd515
inc ecx
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movss dword [esp + 0x80], xmm3
mulss xmm6, dword [esi + 0x18c4]
movss dword [esp + 0x2c], xmm6
jmp 0x100dd572
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100dd548
mov edi, dword [edi + 8]
add edi, edx
jmp 0x100dd55f
mov ecx, edx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd550
sub ecx, edx
mov edx, dword [ebp + 8]
lea edi, [edx + ecx]
mov eax, edi
mov dword [esp + 0x24], edi
sub eax, edx
cmp eax, 0x200000
jge 0x100dd718
movss xmm1, dword [0x102bd7ac]
xor ecx, ecx
call fcn.100b3000
mov edx, dword [esp + 0x18]
cmp byte [esp + 0x38], 0
mov esi, dword [esp + 0x64]
mov dword [esp + 0x40], 0
mov ecx, dword [edx + 0x18c0]
movss xmm2, dword [edx + 0x18c4]
lea edx, [esp + 0x100]
cmovne edx, dword [esp + 0x40]
mov esi, dword [esi + 0x284]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
test eax, 0xff000000
je 0x100dd6ca
cmp dword [esp + 0x24], 0
jne 0x100dd5eb
mov ecx, dword [ebp + 8]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dd5d6
mov eax, dword [ebp + 8]
sub ecx, edi
lea edi, [eax + ecx]
mov ecx, dword [esp + 0x48]
jmp 0x100dd5ee
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x100dd6ca
test ecx, ecx
jne 0x100dd604
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100dd615
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 + 0xb0], xmm0
test edx, edx
je 0x100dd696
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xb0]
comiss xmm0, xmm1
jae 0x100dd64a
movss dword [esp + 0xb0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xb4]
comiss xmm0, xmm1
jae 0x100dd666
movss dword [esp + 0xb4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xb8]
ja 0x100dd67e
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xbc]
ja 0x100dd696
movss dword [esp + 0xbc], xmm0
mov eax, dword [esp + 0x5c]
test edx, edx
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0xc0]
mov dword [esp], 0
push edi
push dword [ebp + 8]
push eax
push dword [esp + 0x68]
push esi
call fcn.100d1700
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x38], 0
je 0x100dd714
movss xmm0, dword [esp + 0x80]
lea ecx, [esp + 0xc0]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, dword [esi + 0x18c4]
movss dword [esp + 0xc4], xmm0
call fcn.100d9750
call fcn.100b7bb0
call fcn.100bd160
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xac]
test cl, cl
je 0x100de310
mov esi, dword [0x10378a34]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.100cb340
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x100de2fa
mov eax, dword [0x10378a34]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x100de304
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x100de304
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
mov ecx, dword [edi + 0x14]
add eax, edx
xor edx, edx
mov dword [esp + 0x24], eax
xorps xmm0, xmm0
mov dword [esp + 0x58], ecx
xorps xmm6, xmm6
mov dword [esp + 0x94], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x60], esi
cmp byte [esp + 0x1f], dl
je 0x100dd7d1
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [esp + 0x7c], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x94], eax
lea edx, [esi + 2]
cmp byte [esp + 0x90], 0
je 0x100dd800
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x58]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [esp + 0x60], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
movzx eax, word [eax]
test ax, ax
je 0x100dd878
mov edi, dword [esp + 0x7c]
mov esi, eax
cmp si, 0xa
jne 0x100dd85e
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp edi, 0xffffffff
jne 0x100dd845
cmp ecx, dword [esp + 0x94]
jb 0x100dd845
dec edx
mov edi, eax
test edx, edx
jle 0x100dd86c
cmp dword [esp + 0x60], 0xffffffff
jne 0x100dd85e
cmp ecx, dword [esp + 0xb0]
jb 0x100dd85e
dec edx
mov dword [esp + 0x60], eax
test edx, edx
jle 0x100dd86c
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100dd821
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x28], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x60]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, edx
cmp edx, esi
jbe 0x100dd8be
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x100dd8be
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100dd8b0
mov eax, dword [0x10378a34]
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 0x100dd92a
mov edi, dword [esp + 0x94]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100dd8fd
maxss xmm3, xmm1
movaps xmm1, xmm0
jmp 0x100dd922
cmp edx, 0xd
je 0x100dd922
mov edx, eax
cmp edx, dword [esi]
jge 0x100dd912
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100dd917
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100dd8e7
mov edi, dword [esp + 0x50]
cmp dword [esp + 0x60], 0
maxss xmm3, xmm1
movd xmm4, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm4, xmm4
movss xmm0, dword [ecx + 0x18c4]
mulss xmm4, xmm0
movss dword [esp + 0x40], xmm3
movss dword [esp + 0x11c], xmm4
jl 0x100dda19
mov edx, dword [esp + 0xb0]
mov ecx, edx
mov esi, dword [esp + 0x58]
cmp edx, esi
jbe 0x100dd980
cmp word [ecx - 2], 0xa
je 0x100dd980
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100dd972
mov eax, dword [0x10378a34]
xorps xmm0, xmm0
xorps xmm6, xmm6
xorps xmm2, xmm2
mov esi, dword [eax + 0x18c0]
movss xmm3, dword [eax + 0x18c4]
divss xmm3, dword [esi + 0x10]
cmp ecx, edx
jae 0x100dd9f6
mov edi, dword [esp + 0xb0]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100dd9c6
maxss xmm6, xmm2
movaps xmm2, xmm0
jmp 0x100dd9ee
cmp edx, 0xd
je 0x100dd9ee
mov edx, eax
cmp edx, dword [esi]
jge 0x100dd9db
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x100dd9e0
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x100dd9b0
mov edi, dword [esp + 0x50]
movd xmm7, dword [esp + 0x60]
maxss xmm6, xmm2
mov ecx, dword [esp + 0x18]
movss xmm3, dword [esp + 0x40]
cvtdq2ps xmm7, xmm7
movss xmm0, dword [ecx + 0x18c4]
mulss xmm7, xmm0
mov edx, dword [esp + 0x38]
test dl, dl
je 0x100dda45
movd xmm1, dword [esp + 0x28]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x2c], xmm1
jmp 0x100dda4b
movss xmm0, dword [esp + 0x68]
cmp byte [esp + 0x1f], 0
je 0x100ddb27
cmp byte [edi + 0xe64], 0
je 0x100ddb27
test dword [ebp + 0x14], 0x1000
jne 0x100ddac5
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm0
comiss xmm2, xmm3
mulss xmm1, dword [0x102bd6f8]
movaps xmm0, xmm3
jbe 0x100ddaa1
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100ddacf
subss xmm0, dword [esp + 0x68]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x100ddacf
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100ddacf
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100ddb20
mov edx, dword [esp + 0x64]
movaps xmm0, xmm4
subss xmm0, dword [ecx + 0x18c4]
movss xmm1, dword [edx + 0x54]
comiss xmm1, xmm0
jbe 0x100ddaf2
maxss xmm0, xmm2
jmp 0x100ddaff
movaps xmm0, xmm4
subss xmm0, dword [esp + 0x70]
maxss xmm0, xmm1
mov eax, dword [esp + 0x5c]
subss xmm1, xmm0
movss dword [edx + 0x54], xmm0
addss xmm1, dword [eax + 4]
movss dword [esp + 0x34], xmm1
movss dword [esp + 0x88], xmm1
mov byte [edi + 0xe64], 0
cmp byte [esp + 0x90], 0
movss xmm4, dword [edi + 0x38]
movss dword [esp + 0x28], xmm4
je 0x100dde1b
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [esp + 0x58]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x1f], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x58]
lea eax, [eax + edx*2]
mov dword [esp + 0xb0], eax
je 0x100ddb76
movss xmm1, dword [0x102bd7ac]
jmp 0x100ddb7e
movss xmm1, dword [0x102bd750]
mov ecx, 0x2a
call fcn.100b3000
cmp byte [esp + 0x38], 0
mov dword [esp + 0x58], eax
je 0x100ddba1
xorps xmm0, xmm0
movss dword [esp + 0xf8], xmm0
jmp 0x100ddba9
movss xmm0, dword [0x102bd800]
mov ecx, dword [esp + 0x5c]
movss dword [esp + 0x94], xmm0
movss xmm4, dword [ecx]
mov ecx, dword [esp + 0xb0]
addss xmm4, xmm6
movss xmm6, dword [esp + 0x34]
movaps xmm5, xmm6
addss xmm5, xmm7
subss xmm4, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm5
cmp esi, ecx
jae 0x100dde6c
movss xmm6, dword [esp + 0x78]
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x18]
nop dword [eax]
nop dword [eax + eax]
movaps xmm0, xmm6
addss xmm0, dword [edi + 0x18c4]
comiss xmm5, xmm0
ja 0x100dde0b
movss xmm0, dword [esp + 0xa0]
comiss xmm0, xmm5
jbe 0x100ddc49
cmp esi, ecx
jae 0x100dddeb
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100ddde7
cmp esi, ecx
jb 0x100ddc30
jmp 0x100ddde7
mov eax, dword [0x10378a34]
xorps xmm7, xmm7
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x18c0]
movss xmm2, dword [eax + 0x18c4]
divss xmm2, dword [edx + 0x10]
cmp esi, ecx
jae 0x100ddcbb
nop
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x100ddcaa
cmp ecx, 0xd
je 0x100ddc9d
cmp ecx, dword [edx]
jge 0x100ddc90
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x100ddc95
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
mov ecx, dword [esp + 0xb0]
cmp esi, ecx
jb 0x100ddc70
jmp 0x100ddcbb
mov ecx, dword [esp + 0xb0]
movaps xmm3, xmm1
maxss xmm3, xmm7
movaps xmm1, xmm7
maxss xmm3, xmm1
comiss xmm7, xmm3
jb 0x100ddcf4
mov eax, dword [edi + 0x18c0]
cmp dword [eax], 0x20
jle 0x100ddcdc
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100ddce1
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x102bd73c]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm0, dword [esp + 0xf8]
addss xmm3, xmm4
subss xmm0, dword [edi + 0x18c4]
movss xmm1, dword [esp + 0x94]
movss xmm2, dword [esp + 0xa0]
addss xmm1, xmm5
movss xmm7, dword [esp + 0x4c]
maxss xmm4, dword [esp + 0x9c]
addss xmm0, xmm5
minss xmm3, xmm7
movss dword [esp + 0xd0], xmm4
maxss xmm2, xmm0
movaps xmm0, xmm6
minss xmm0, xmm1
movss dword [esp + 0xd8], xmm3
movss dword [esp + 0xd4], xmm2
comiss xmm0, dword [esp + 0xa0]
movss dword [esp + 0xdc], xmm0
jbe 0x100ddde7
comiss xmm6, xmm2
jbe 0x100ddde7
comiss xmm3, dword [esp + 0x9c]
jbe 0x100ddde7
comiss xmm7, xmm4
jbe 0x100ddde7
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xe0]
push dword [esp + 0x60]
push eax
lea eax, [esp + 0xe0]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x284]
call fcn.100cd700
movss xmm0, dword [esp + 0x8c]
movss xmm5, dword [esp + 0x7c]
movss xmm6, dword [esp + 0x78]
mov ecx, dword [esp + 0xb0]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0x98]
movss dword [esp + 0x98], xmm0
mov eax, dword [esp + 0x5c]
movss xmm4, dword [eax]
addss xmm5, dword [edi + 0x18c4]
subss xmm4, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm5
cmp esi, ecx
jb 0x100ddc00
movss xmm4, dword [esp + 0x28]
movss xmm5, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
movss xmm6, dword [esp + 0x34]
cmp byte [esp + 0x38], 0
mov edx, dword [esp + 0x24]
jne 0x100dde3c
mov eax, edx
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x100de09a
mov eax, dword [0x10378a34]
xorps xmm7, xmm7
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm7, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xd0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100dde7a
xorps xmm0, xmm0
jmp 0x100dde82
movss xmm4, dword [esp + 0x28]
movss xmm5, dword [esp + 0x48]
jmp 0x100dde21
minss xmm0, dword [0x102bd7ac]
movss xmm2, dword [0x102bda54]
movss xmm3, dword [0x102bd73c]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0xd4]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x100ddeb4
xorps xmm0, xmm0
jmp 0x100ddebc
minss xmm0, dword [0x102bd7ac]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xd8]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x100ddee0
xorps xmm0, xmm0
jmp 0x100ddee8
minss xmm0, dword [0x102bd7ac]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x100ddf00
xorps xmm1, xmm1
jmp 0x100ddf08
minss xmm1, dword [0x102bd7ac]
mulss xmm1, xmm2
movaps xmm0, xmm5
mov esi, dword [esp + 0x64]
subss xmm0, xmm4
mov dword [esp + 0xf8], 0
movss dword [esp + 0xb4], xmm6
addss xmm1, xmm3
mov esi, dword [esi + 0x284]
movss dword [esp + 0xb0], xmm0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
cmp byte [esp + 0x38], 0
mov ecx, edx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
movss xmm2, dword [edx + 0x18c4]
mov edx, dword [edx + 0x18c0]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x100]
cmovne edx, dword [esp + 0xf8]
test eax, 0xff000000
je 0x100de09d
cmp dword [esp + 0x24], 0
jne 0x100ddfad
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x4c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ddf97
sub ecx, dword [esp + 0x4c]
mov eax, dword [ebp + 8]
add ecx, eax
mov dword [esp + 0x4c], ecx
jmp 0x100ddfb0
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x100de09d
cmp dword [esp + 0x78], 0
jne 0x100ddfc9
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100ddfda
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 [ecx + eax - 0x10]
movups xmmword [esp + 0xd0], xmm0
test edx, edx
je 0x100de05b
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xd0]
comiss xmm0, xmm1
jae 0x100de00f
movss dword [esp + 0xd0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xd4]
comiss xmm0, xmm1
jae 0x100de02b
movss dword [esp + 0xd4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xd8]
ja 0x100de043
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xdc]
ja 0x100de05b
movss dword [esp + 0xdc], xmm0
push dword [esp + 0xb4]
test edx, edx
push dword [esp + 0xb4]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0xe0]
mov dword [esp], 0
push dword [esp + 0x5c]
push dword [ebp + 8]
push eax
push dword [esp + 0x64]
push esi
call fcn.100d1700
xorps xmm7, xmm7
cmp byte [esp + 0x1f], 0
je 0x100dd6ca
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 + 0x4c], xmm0
je 0x100de0fb
comiss xmm7, xmm0
jae 0x100de0fb
fld dword [esp + 0x4c]
fld dword [0x102bd7bc]
call fcn.1021f3d0
movss xmm0, dword [0x102bd77c]
fstp dword [esp + 0x4c]
comiss xmm0, dword [esp + 0x4c]
jae 0x100de0fb
xor al, al
jmp 0x100de0fd
mov al, 1
mov ecx, dword [esp + 0x5c]
movss xmm4, dword [esp + 0x34]
movss xmm6, dword [0x102bd73c]
movss xmm7, dword [0x102bd7ac]
movss xmm3, dword [ecx]
addss xmm4, dword [esp + 0x11c]
addss xmm3, dword [esp + 0x40]
movss dword [esp + 0x34], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [esp + 0x28]
subss xmm0, dword [esi + 0x18c4]
subss xmm2, dword [0x102bd7c8]
movss dword [esp + 0x48], xmm3
movaps xmm1, xmm3
movss dword [esp + 0xd0], xmm3
addss xmm0, xmm6
movss dword [esp + 0xdc], xmm2
addss xmm1, xmm7
movss dword [esp + 0xd4], xmm0
movss dword [esp + 0xd8], xmm1
test al, al
je 0x100de2ce
comiss xmm2, dword [esp + 0xa0]
jbe 0x100de2ce
movss xmm5, dword [esp + 0x98]
comiss xmm5, xmm0
jbe 0x100de2ce
comiss xmm1, dword [esp + 0x9c]
jbe 0x100de2ce
movss xmm0, dword [esp + 0x8c]
comiss xmm0, xmm3
jbe 0x100de2ce
mov eax, dword [0x10378a34]
xorps xmm5, xmm5
movups xmm0, xmmword [eax + 0x15c0]
comiss xmm5, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0x100], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100de1f9
xorps xmm0, xmm0
jmp 0x100de1fd
minss xmm0, xmm7
movss xmm4, dword [0x102bda54]
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0x104]
shl ecx, 0x10
comiss xmm5, xmm0
jbe 0x100de227
xorps xmm0, xmm0
jmp 0x100de22b
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x108]
shl eax, 8
or ecx, eax
comiss xmm5, xmm0
jbe 0x100de24f
xorps xmm0, xmm0
jmp 0x100de253
minss xmm0, xmm7
mulss xmm0, xmm4
addss xmm0, xmm6
cvttss2si eax, xmm0
or ecx, eax
comiss xmm5, xmm1
jbe 0x100de26b
xorps xmm1, xmm1
jmp 0x100de26f
minss xmm1, xmm7
mulss xmm1, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0xc4], xmm3
addss xmm1, xmm6
movss dword [esp + 0xc8], xmm2
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xdc]
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x284]
call fcn.100cd3e0
movss xmm3, dword [esp + 0x48]
movss xmm4, dword [esp + 0x34]
movss xmm7, dword [0x102bd7ac]
cmp byte [esp + 0x44], 0
jne 0x100dd6ce
subss xmm4, dword [esi + 0x18c4]
subss xmm3, xmm7
movss dword [esi + 0x2d28], xmm4
movss dword [esi + 0x2d24], xmm3
jmp 0x100dd6ce
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.100bcaa0
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x2d60], 0
je 0x100de338
test cl, cl
jne 0x100de338
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x84]
push edi
call fcn.100c16d0
mov eax, dword [esp + 0x1c]
add esp, 4
movss xmm0, dword [esp + 0xfc]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x100de39e
movss xmm0, dword [esp + 0xa4]
xor edx, edx
addss xmm0, dword [eax + 0x1560]
mov ecx, dword [esp + 0x118]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xa0]
addss xmm0, dword [eax + 0x154c]
movss dword [esp + 0x88], xmm0
push dword [esp + 0x88]
push dword [esp + 0x88]
push 1
call fcn.100b31a0
add esp, 0xc
mov dl, byte [esp + 0x6f]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x100de3cc
test ecx, 0x200000
jne 0x100de3cc
mov eax, dword [0x10378a34]
mov word [eax + 0x19fb], 0x101
mov eax, dword [eax + 0x19b0]
or dword [eax + 0x11c], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [esp + 0x33]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret