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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x188
push esi
mov esi, dword [0x10374464]
mov dword [esp + 0xe8], ecx
mov ecx, esi
push edi
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + 0x19b0]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
mov dword [esp + 0x50], edi
cmp byte [edi + 0x8f], 0
jne 0x100d9503
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov edx, ecx
and eax, 0xffffff01
shr edx, 0x14
mov dword [esp + 0x4c], eax
and edx, 0xffffff01
mov eax, ecx
mov dword [esp + 0x40], edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [esp + 0xa8], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [esp + 0x64], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [esp + 0x60], eax
test dl, dl
je 0x100d9193
call fcn.100bbb40
mov esi, dword [0x10374464]
mov ecx, dword [edi + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0xf0]
call fcn.100b0d60
add esp, 4
mov dword [esp + 0x24], eax
cmp dword [esi + 0x19ec], eax
jne 0x100d91c6
mov dword [esi + 0x19f0], eax
cmp dword [esi + 0x1a20], eax
jne 0x100d91d5
mov byte [esi + 0x1a24], 1
mov eax, dword [esp + 0xec]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x100d91f9
mov dl, byte [ecx]
test dl, dl
je 0x100d91f9
cmp dl, 0x23
jne 0x100d91f3
cmp byte [ecx + 1], dl
je 0x100d91f9
inc ecx
cmp ecx, 0xffffffff
jb 0x100d91e3
movss xmm1, dword [0x102bab58]
movss xmm0, dword [esi + 0x18c4]
movss dword [esp + 0xf0], xmm1
cmp eax, ecx
jne 0x100d9224
xorps xmm7, xmm7
movss dword [esp + 0x10c], xmm7
jmp 0x100d9276
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [esp + 0x94]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.100cf750
movss xmm0, dword [esp + 0x84]
xorps xmm7, xmm7
addss xmm0, dword [0x102ba7a4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x10c], xmm0
movss xmm0, dword [esp + 0x88]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x40]
movss xmm3, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x14]
movss dword [esp + 0x80], xmm3
movss dword [esp + 0x74], xmm1
test dl, dl
je 0x100d92ad
movss xmm0, dword [eax + 0x18c4]
mulss xmm0, dword [0x102ba8a4]
test byte [esi + 0x1a8c], 1
movss xmm5, dword [eax + 0x154c]
mov ecx, dword [esi + 0x19b0]
movaps xmm2, xmm5
addss xmm2, xmm5
addss xmm2, xmm0
je 0x100d92d9
movss xmm1, dword [esi + 0x1a90]
jmp 0x100d92e1
movss xmm1, dword [ecx + 0x180]
comiss xmm7, xmm1
jbe 0x100d9315
mov eax, ecx
cmp dword [eax + 0x1d0], 0
movss xmm0, dword [eax + 0x22c]
je 0x100d9301
movss xmm0, dword [eax + 0x20c]
subss xmm0, dword [ecx + 0xd8]
addss xmm1, xmm0
maxss xmm1, dword [0x102ba7b4]
comiss xmm7, xmm3
cvttss2si eax, xmm1
xorps xmm0, xmm0
xorps xmm4, xmm4
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ja 0x100d9332
comiss xmm7, dword [esp + 0x74]
jbe 0x100d9353
cmp dword [ecx + 0x1d0], 0
movss xmm4, dword [ecx + 0x22c]
movss xmm0, dword [ecx + 0x230]
je 0x100d9353
movss xmm4, dword [ecx + 0x20c]
movss xmm1, dword [0x102ba878]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x100d936f
movss dword [esp + 0x80], xmm6
jmp 0x100d93a2
comiss xmm7, xmm3
jbe 0x100d939f
movaps xmm6, xmm4
subss xmm6, dword [ecx + 0xd8]
addss xmm6, xmm3
comiss xmm1, xmm6
movss dword [esp + 0x80], xmm6
jb 0x100d93a2
movaps xmm6, xmm1
movss dword [esp + 0x80], xmm6
jmp 0x100d93a2
movaps xmm6, xmm3
movss xmm3, dword [esp + 0x74]
ucomiss xmm3, xmm7
lahf
test ah, 0x44
jp 0x100d93bc
movaps xmm0, xmm2
movss dword [esp + 0x74], xmm0
jmp 0x100d93ee
comiss xmm7, xmm3
jbe 0x100d93eb
subss xmm0, dword [ecx + 0xdc]
addss xmm3, xmm0
comiss xmm1, xmm3
movss dword [esp + 0x74], xmm3
jb 0x100d93e3
movaps xmm0, xmm1
movss dword [esp + 0x74], xmm0
jmp 0x100d93ee
movss xmm0, dword [esp + 0x74]
jmp 0x100d93ee
movaps xmm0, xmm3
movss xmm1, dword [esp + 0x10c]
comiss xmm1, xmm7
mov esi, dword [esp + 0x14]
jbe 0x100d940d
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1560]
jmp 0x100d9410
xorps xmm2, xmm2
movss xmm4, dword [edi + 0xdc]
movaps xmm1, xmm6
movss xmm3, dword [edi + 0xd8]
addss xmm0, xmm4
movss dword [esp + 0x98], xmm3
addss xmm1, xmm3
movss dword [esp + 0x9c], xmm4
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm4
movss dword [esp + 0xa4], xmm0
movaps xmm0, xmm6
movss dword [esp + 0xa0], xmm1
addss xmm0, xmm2
mov dword [esp + 0x68], edi
movaps xmm1, xmm4
addss xmm1, dword [esp + 0x74]
addss xmm0, xmm3
movss dword [esp + 0xbc], xmm1
movss dword [esp + 0xb8], xmm0
test dl, dl
je 0x100d959b
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x98]
push eax
mov edx, edi
lea ecx, [esp + 0xb4]
call fcn.100b3c60
add esp, 4
test al, al
jne 0x100d950b
movss xmm0, dword [esp + 0xb8]
lea ecx, [esp + 0x84]
subss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esi + 0x154c]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0xbc]
subss xmm0, dword [esp + 0xb4]
movss dword [esp + 0x88], xmm0
call fcn.100b3b30
call fcn.100bbc70
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xa0]
lea edx, [esp + 0x84]
subss xmm0, dword [esp + 0x98]
push ecx
mov ecx, edi
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0xa8]
subss xmm0, dword [esp + 0xa0]
movss dword [esp + 0x8c], xmm0
call fcn.100b68b0
add esp, 4
test al, al
jne 0x100d9569
call fcn.100b6730
call fcn.100bbc70
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x19b0]
movss xmm0, dword [esp + 0x80]
mov dword [esp + 0x68], ecx
subss xmm0, dword [ecx + 0x80]
mov eax, dword [ecx + 0x144]
or dword [ecx + 0x14c], eax
movss dword [esp + 0x80], xmm0
jmp 0x100d95e9
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.100b3b30
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x98]
push eax
mov edx, edi
lea ecx, [esp + 0xb4]
call fcn.100b3c60
add esp, 4
test al, al
je 0x100d9503
mov edx, edi
lea ecx, [esp + 0x98]
call fcn.100b3e90
mov byte [esp + 0x1f], al
test al, al
je 0x100d9609
mov dword [esi + 0x1d38], 1
mov eax, dword [esp + 0x50]
lea edi, [esi + 0x1e08]
mov ecx, dword [esp + 0x24]
xor edx, edx
cmp dword [esi + 0x1e08], ecx
mov ecx, dword [0x10374464]
mov esi, dword [eax + 0x174]
cmovne edi, edx
mov edx, dword [eax + 0x17c]
mov dword [esp + 0x3c], edi
lea esi, [esi + 1]
mov dword [eax + 0x174], esi
and edx, 5
jne 0x100d965f
mov eax, dword [eax + 0x178]
mov edi, dword [esp + 0x50]
inc eax
mov dword [edi + 0x178], eax
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
cmp dword [ecx + 0x1be4], eax
jne 0x100d96da
cmp esi, dword [ecx + 0x1bec]
je 0x100d968f
test edx, edx
jne 0x100d96c5
mov eax, dword [eax + 0x178]
cmp eax, dword [ecx + 0x1bf0]
jne 0x100d96c5
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1af0], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x1a], 1
cmp dword [edx + 0x1be4], eax
jne 0x100d96b9
mov ecx, dword [esp + 0x50]
mov eax, dword [edx + 0x1bec]
cmp eax, dword [ecx + 0x174]
jne 0x100d96b9
mov byte [esp + 0x12], 1
jmp 0x100d96e8
mov byte [esp + 0x12], 0
mov byte [esp + 0x37], 1
jmp 0x100d96ed
mov eax, dword [esp + 0x24]
cmp dword [ecx + 0x19ec], eax
jne 0x100d96da
xor edx, edx
xor ecx, ecx
call fcn.100b3990
mov edx, dword [esp + 0x14]
mov byte [esp + 0x1a], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x37], 0
cmp byte [esp + 0x1f], 0
je 0x100d9702
cmp byte [edx + 0x3d8], 0
mov byte [esp + 0x1c], 1
jne 0x100d9707
mov byte [esp + 0x1c], 0
mov esi, dword [edx + 0x19ec]
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x100d9735
cmp dword [edx + 0x1aec], eax
je 0x100d972e
cmp dword [edx + 0x1ae0], eax
jne 0x100d9735
cmp dword [edx + 0x1b00], 3
jne 0x100d9735
mov byte [esp + 0x1b], 1
jmp 0x100d973a
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x40]
test al, al
je 0x100d9784
test edi, edi
je 0x100d9784
test esi, esi
jne 0x100d9784
mov eax, dword [esp + 0x68]
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.100b0d60
mov ecx, dword [esp + 0x18]
add esp, 4
cmp dword [ecx + 0x1a20], eax
jne 0x100d9780
mov byte [esp + 0x1d], 1
jmp 0x100d9796
mov eax, dword [esp + 0x40]
mov byte [esp + 0x1d], 0
test al, al
je 0x100d97c1
mov byte [esp + 0x1d], 0
test edi, edi
je 0x100d97c1
mov eax, dword [esp + 0x68]
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.100b0d60
add esp, 4
cmp esi, eax
jne 0x100d97c1
mov al, 1
jmp 0x100d97c3
xor al, al
mov cl, byte [esp + 0x1b]
mov byte [esp + 0x35], al
mov byte [esp + 0x46], 0
cmp esi, dword [esp + 0x24]
je 0x100d97ee
mov edx, dword [ebp + 0x14]
test dl, 0x10
jne 0x100d97e2
test cl, cl
je 0x100d97ee
cmp byte [esp + 0x40], 0
mov byte [esp + 0x20], 1
je 0x100d97f3
mov byte [esp + 0x20], 0
cmp byte [esp + 0x1a], 0
jne 0x100d981d
cmp byte [esp + 0x1c], 0
jne 0x100d981d
cmp byte [esp + 0x1d], 0
jne 0x100d981d
test cl, cl
jne 0x100d981d
mov byte [esp + 0x1a], cl
test al, al
jne 0x100d9822
mov byte [esp + 0x36], al
jmp 0x100d9a46
mov byte [esp + 0x1a], 1
mov eax, dword [esp + 0x24]
mov byte [esp + 0x36], 1
mov dword [esp + 0x3c], edi
cmp esi, eax
je 0x100d9a4a
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
add edi, 0x1e08
mov dword [esp + 0x3c], edi
mov dword [edi + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d9855
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100d9892
test eax, eax
je 0x100d987b
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100d9883
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c1680
push esi
push dword [ebp + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call fcn.101f27e0
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [esp + 0x30], edx
cmp edx, esi
jle 0x100d98e7
test esi, esi
je 0x100d98cb
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x30]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100d98d0
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.100c16f0
mov edx, dword [esp + 0x30]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x100d9909
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.100c1680
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 + 0x30], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100d997d
mov edi, eax
nop dword [eax]
cmp byte [edi], 0
je 0x100d9971
push 0
mov edx, edi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100d996d
cmp eax, 0xffff
ja 0x100d995c
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x100d9930
jmp 0x100d9971
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x3c]
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 0x100d99bb
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 0x100d9a14
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 + 0x40]
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 0x100d9a18
mov ecx, dword [esp + 0x20]
mov eax, 1
cmp byte [esp + 0x12], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x40]
test dword [ebp + 0x14], 0x2000
je 0x100d9a25
mov byte [edi + 0x48], 1
test cl, cl
jne 0x100d9a46
cmp byte [esp + 0x37], cl
jne 0x100d9a41
cmp byte [esp + 0x1c], cl
je 0x100d9a46
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x100], cl
je 0x100d9a46
mov byte [esp + 0x20], 1
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x19ec], eax
je 0x100d9b03
cmp byte [esp + 0x1a], 0
je 0x100d9afb
mov edx, dword [esp + 0x50]
mov ecx, eax
call fcn.100b3990
mov ecx, dword [esp + 0x24]
call fcn.100b3a70
mov ecx, edx
call fcn.100bb3a0
mov eax, dword [esi + 0x1a00]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [esp + 0x40], 0
mov dword [esi + 0x1a00], eax
jne 0x100d9a9d
test dl, dl
jns 0x100d9aa6
or eax, 0xc
mov dword [esi + 0x1a00], eax
mov eax, dword [esi + 0x1a08]
or dword [esi + 0x1a04], 2
or eax, 0x180
cmp byte [esp + 0x40], 0
mov ecx, dword [esi + 0x1a0c]
mov dword [esi + 0x1a08], eax
mov dword [esi + 0x1a0c], ecx
je 0x100d9ae0
or eax, 0x60
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
test edx, 0x440
je 0x100d9af7
or eax, 1
mov dword [esi + 0x1a0c], ecx
mov dword [esi + 0x1a08], eax
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100d9b3c
test edi, edi
jne 0x100d9b14
xor edx, edx
xor ecx, ecx
call fcn.100b3990
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100d9b3c
cmp byte [esi + 0x3d8], 0
je 0x100d9b47
cmp byte [esp + 0x36], 0
jne 0x100d9b47
cmp byte [esp + 0x1a], 0
jne 0x100d9b47
mov byte [esp + 0x46], 1
mov cl, 1
jmp 0x100d9b4d
test edi, edi
je 0x100d9b4b
cmp byte [esp + 0x35], 0
je 0x100d9b4b
mov cl, 1
jmp 0x100d9b4d
xor cl, cl
mov byte [esp + 0x1a], cl
test edi, edi
je 0x100d9b68
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100d9b68
test cl, cl
je 0x100d9b68
mov edx, 1
jmp 0x100d9b6a
xor dl, dl
cmp byte [esp + 0x4c], 0
mov dword [esp + 0x78], edx
mov byte [esp + 0x56], dl
mov byte [esp + 0x57], 0
mov byte [esp + 0x37], 0
je 0x100d9c88
test edi, edi
je 0x100d9c88
test cl, cl
jne 0x100d9b9b
test dl, dl
je 0x100d9c90
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x100d9bd5
test eax, eax
je 0x100d9bbb
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100d9bc3
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c16f0
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 + 0x30], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x100d9c3c
mov edi, eax
nop dword [eax]
cmp byte [edi], 0
je 0x100d9c30
push 0
mov edx, edi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100d9c2c
cmp eax, 0xffff
ja 0x100d9c1c
mov word [esi], ax
add esi, 2
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0xc]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x100d9bf0
jmp 0x100d9c30
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x3c]
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 + 0x56]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov cl, byte [esp + 0x1a]
cmovne edx, eax
mov dword [edi + 0x44], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x78], edx
test cl, cl
jne 0x100d9c9c
test dl, dl
jne 0x100d9c9c
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100d9cb2
cmp byte [esp + 0x4c], 0
jne 0x100d9cb2
test edi, edi
je 0x100d9cb2
cmp byte [edi + 0x30], 0
mov byte [esp + 0x56], 1
jne 0x100d9cb7
mov byte [esp + 0x56], 0
cmp byte [esp + 0xa8], 0
je 0x100d9dd8
mov edx, dword [esi + 0x18c0]
cmp dword [edx + 0x14], 0x2a
jg 0x100d9cd6
mov esi, dword [edx + 0x2c]
jmp 0x100d9cf5
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100d9cec
mov esi, dword [edx + 0x2c]
jmp 0x100d9cf5
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea esi, [eax + ecx*8]
mov eax, dword [edx + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
add edi, 0x2c7c
mov dword [esp + 0x38], 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 [0x10374464]
mov dword [edi + 0xc], eax
call fcn.100bb5c0
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.100c1450
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 + 0x30], ecx
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
cmp ecx, edi
jne 0x100d9dbd
inc ecx
test edi, edi
je 0x100d9dab
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100d9db0
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c1300
mov edx, dword [esi]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x38]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x30]
inc dword [esi]
call fcn.100c96e0
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], 0
cmp dword [esi + 0x19ec], ecx
jne 0x100da1de
mov eax, dword [edi + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xe68], eax
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
mov dl, byte [esi + 0xf0]
test dl, dl
mov dword [esi + 0x2f84], 1
sete al
cmp byte [esp + 0x40], 0
mov byte [esi + 0x19f9], al
movss xmm6, dword [esi + 0xe8]
subss xmm6, dword [esp + 0x98]
subss xmm6, dword [esi + 0x1548]
addss xmm6, dword [edi + 0x38]
je 0x100d9e7c
mov eax, dword [esp + 0x68]
movss xmm2, dword [esi + 0xec]
subss xmm2, dword [eax + 0xdc]
subss xmm2, dword [esi + 0x154c]
jmp 0x100d9e8c
movss xmm2, dword [esi + 0x18c4]
mulss xmm2, dword [0x102ba73c]
cmp byte [esp + 0x20], 0
mov al, byte [esi + 0xb1]
mov byte [esp + 0x47], al
jne 0x100da001
mov cl, byte [esp + 0x1f]
test cl, cl
je 0x100d9eb9
test al, al
jne 0x100d9f25
cmp byte [esi + 0x3e2], al
jne 0x100da001
cmp byte [esi + 0x3d8], 0
mov al, byte [edi + 0xe65]
je 0x100d9f6c
test al, al
jne 0x100d9f6c
test cl, cl
je 0x100d9f1a
cmp byte [edi + 0x4c], al
je 0x100d9ef9
push 0
mov edx, edi
lea ecx, [esp + 0xc4]
call fcn.100d35f0
movss xmm2, dword [esp + 0xd0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d38f0
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
lea ecx, [edi + 0xe65]
jmp 0x100da022
cmp byte [esi + 0x3e2], 0
je 0x100d9eb9
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3cd0
add esp, 4
mov byte [edi + 0xe64], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100d3cd0
add esp, 4
mov byte [edi + 0xe64], 1
jmp 0x100d9f10
lea ecx, [edi + 0xe65]
test dl, dl
je 0x100da022
lea ecx, [edi + 0xe65]
test al, al
jne 0x100da022
mov edx, esi
xorps xmm1, xmm1
movss xmm0, dword [edx + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100d9fb5
movss xmm0, dword [edx + 0x37c]
lea ecx, [edi + 0xe65]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100da020
cmp byte [edi + 0x4c], 0
je 0x100d9fd7
push 0
mov edx, edi
lea ecx, [esp + 0xc4]
call fcn.100d35f0
movss xmm2, dword [esp + 0xd0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100d9fe5
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.100d38f0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe64], 1
jmp 0x100d9f10
mov eax, dword [edi + 4]
lea ecx, [edi + 0xe65]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
mov byte [ecx], 1
jmp 0x100da022
mov esi, edx
cmp byte [ecx], 0
je 0x100da033
cmp byte [esi + 0xf0], 0
jne 0x100da033
mov byte [ecx], 0
cmp byte [esi + 0x100], 0
je 0x100da045
cmp byte [esi + 0x102], 0
je 0x100da055
cmp byte [esp + 0x47], 0
je 0x100da05c
cmp byte [esi + 0x103], 0
je 0x100da05c
mov byte [esp + 0x12], 1
jmp 0x100da061
mov byte [esp + 0x12], 0
mov edx, dword [ebp + 0x14]
test edx, 0x400
je 0x100da252
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100da252
call fcn.100b6460
mov ecx, dword [esp + 0x4c]
test al, al
mov al, byte [esp + 0x12]
je 0x100da118
test al, al
jne 0x100da118
cmp byte [esi + 0x101], al
jne 0x100da118
test cl, cl
jne 0x100da118
mov ecx, dword [esi + 0x1508]
mov eax, dword [esi + 0x1500]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x100da0d0
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x100da110
cmp ecx, edx
jb 0x100da0c0
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x30]
sub esp, 8
mov dword [esp + 0x38], 9
call fcn.100d8f60
add esp, 8
test al, al
je 0x100da110
push dword [esp + 0x30]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3cd0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x4c]
mov al, byte [esp + 0x12]
mov edx, dword [ebp + 0x14]
add esi, 0x1500
mov dword [esp + 0x38], esi
cmp dword [esi], 0
jle 0x100da1da
test al, al
jne 0x100da1b5
test cl, cl
jne 0x100da1b5
cmp byte [esp + 0x1b], cl
jne 0x100da1b5
mov ecx, dword [esp + 0x14]
xor esi, esi
nop word [eax + eax]
mov eax, dword [ecx + 0x1508]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x30], eax
cmp eax, 9
jne 0x100da16c
cmp byte [ecx + 0x101], 0
jne 0x100da1a5
sub esp, 8
lea ecx, [esp + 0x38]
call fcn.100d8f60
add esp, 8
test al, al
je 0x100da1a1
push dword [esp + 0x30]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3cd0
add esp, 4
mov byte [edi + 0xe64], 1
mov dword [edi + 0xe60], 0xbe99999a
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x14]
inc esi
cmp esi, dword [ecx + 0x1500]
jl 0x100da150
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x100da1d4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.100c16f0
mov dword [esi], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
xor cl, cl
mov byte [esp + 0x13], cl
cmp dword [esi + 0x19ec], eax
jne 0x100db20f
cmp byte [esi + 0x19f8], cl
jne 0x100dac6e
cmp byte [esp + 0x46], cl
jne 0x100dac6e
mov ah, byte [esi + 0x101]
mov ecx, 0x400000
xor esi, esi
test ah, ah
cmovne esi, ecx
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 0xb1]
mov byte [esp + 0x6f], al
test al, al
mov al, byte [ecx + 0x100]
je 0x100da267
cmp byte [ecx + 0x103], 0
lea edx, [ecx + 0x103]
mov dword [esp + 0x20], edx
je 0x100da25f
test al, al
jne 0x100da25f
mov ecx, 1
jmp 0x100da261
mov al, byte [esp + 0x12]
mov ecx, dword [esp + 0x4c]
jmp 0x100da11b
xor ecx, ecx
test ecx, ecx
je 0x100da293
jmp 0x100da27a
add ecx, 0x103
test al, al
je 0x100da28f
cmp byte [ecx], 0
jne 0x100da28f
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x102], 0
jne 0x100da293
test ah, ah
jne 0x100da293
mov ch, 1
jmp 0x100da295
mov dword [esp + 0x20], ecx
xor ch, ch
mov dh, byte [esp + 0x6f]
mov cl, al
mov byte [esp + 0x1d], ch
test dh, dh
je 0x100da2e8
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x103], 0
mov edi, dword [esp + 0x3c]
je 0x100da2e8
test ah, ah
je 0x100da2e8
mov edi, dword [esp + 0x14]
mov dl, byte [edi + 0x100]
mov edi, dword [esp + 0x3c]
mov cl, dl
mov byte [esp + 0x12], dl
test dl, dl
jne 0x100da2e8
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x102], 0
mov edi, dword [esp + 0x3c]
jne 0x100da2e8
mov byte [esp + 0x1f], 1
jmp 0x100da2fb
mov byte [esp + 0x12], cl
mov dl, cl
mov byte [esp + 0x1f], 0
test dh, dh
je 0x100da3a4
mov edi, dword [esp + 0x14]
mov al, byte [edi + 0x102]
mov edi, dword [esp + 0x20]
mov byte [esp + 0x1c], al
cmp byte [edi], 0
mov edi, dword [esp + 0x3c]
je 0x100da3b3
test dl, dl
jne 0x100da3b3
test al, al
jne 0x100da3b3
mov byte [esp + 0x1e], 1
mov cl, byte [esp + 0x1e]
mov byte [esp + 0x35], cl
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1c], al
mov byte [esp + 0x1b], 0
test ah, ah
je 0x100da3f5
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1c], al
mov byte [esp + 0x1b], 0
test dl, dl
jne 0x100da3f5
mov byte [esp + 0x1b], dl
mov edx, dword [esp + 0x14]
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1c], al
cmp byte [edx + 0x102], 0
jne 0x100da3f5
mov edx, dword [esp + 0x20]
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1c], al
mov byte [esp + 0x1b], 0
cmp byte [edx], 0
jne 0x100da3f5
mov byte [esp + 0x2b], 1
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1c], al
mov byte [esp + 0x1b], 0
jmp 0x100da3fa
mov al, dl
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1f], 0
mov byte [esp + 0x12], dl
mov byte [esp + 0x1e], 0
test dl, dl
je 0x100da32f
test ah, ah
jne 0x100da32f
mov edi, dword [esp + 0x14]
cmp byte [edi + 0x102], ah
mov edi, dword [esp + 0x3c]
jne 0x100da32f
mov edi, dword [esp + 0x20]
cmp byte [edi], ah
mov edi, dword [esp + 0x3c]
jne 0x100da32f
mov byte [esp + 0x1b], 1
mov byte [esp + 0x35], ah
mov byte [esp + 0x2b], 0
test ch, ch
je 0x100da416
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x100da416
call fcn.100b6460
test al, al
jne 0x100da432
cmp byte [esp + 0x2b], 0
je 0x100da459
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100da459
call fcn.100b6460
test al, al
je 0x100da459
cmp byte [esp + 0x4c], 0
jne 0x100da459
cmp byte [esp + 0xa8], 0
jne 0x100da459
cmp byte [esp + 0x40], 0
je 0x100da452
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100da459
mov byte [esp + 0x36], 1
jmp 0x100da45e
mov byte [esp + 0x36], 0
cmp byte [esp + 0x1d], 0
je 0x100da47a
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x100da47a
call fcn.100b6460
test al, al
jne 0x100da496
cmp byte [esp + 0x1b], 0
je 0x100da4b6
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100da4b6
call fcn.100b6460
test al, al
je 0x100da4b6
cmp byte [esp + 0xa8], 0
jne 0x100da4b6
cmp byte [esp + 0x40], 0
je 0x100da4af
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100da4b6
mov byte [esp + 0x1b], 1
jmp 0x100da4bb
mov byte [esp + 0x1b], 0
cmp byte [esp + 0x1d], 0
je 0x100da4d7
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x100da4d7
call fcn.100b6460
test al, al
jne 0x100da4f3
cmp byte [esp + 0x2b], 0
je 0x100da4ff
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100da4ff
call fcn.100b6460
test al, al
je 0x100da4ff
cmp byte [esp + 0x4c], 0
mov byte [esp + 0x47], 1
je 0x100da504
mov byte [esp + 0x47], 0
mov dl, byte [esp + 0x1d]
test dl, dl
je 0x100da53d
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100da53d
call fcn.100b6460
test al, al
je 0x100da539
cmp byte [esp + 0x4c], 0
jne 0x100da539
cmp byte [esp + 0x64], 0
je 0x100da539
mov byte [esp + 0x2b], 1
jmp 0x100da546
mov dl, byte [esp + 0x1d]
mov byte [esp + 0x2b], 0
test dl, dl
je 0x100da55e
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100da55e
call fcn.100b6460
test al, al
jne 0x100da57d
cmp byte [esp + 0x1f], 0
je 0x100da590
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x100da590
call fcn.100b6460
test al, al
je 0x100da590
cmp byte [esp + 0x4c], 0
jne 0x100da590
cmp byte [esp + 0x64], 0
mov byte [esp + 0x1f], 1
jne 0x100da595
mov byte [esp + 0x1f], 0
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x100da5ec
call fcn.100b6460
test al, al
je 0x100da5ec
cmp byte [esp + 0x35], 0
je 0x100da5c8
mov eax, 0x200004
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100d3cd0
jmp 0x100dac35
cmp byte [esp + 0x1c], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000c
mov eax, 0x200000
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x100da643
call fcn.100b6460
test al, al
je 0x100da643
cmp byte [esp + 0x35], 0
je 0x100da61f
mov eax, 0x200005
lea edx, [edi + 0x3c]
or esi, eax
mov ecx, edi
push esi
call fcn.100d3cd0
jmp 0x100dac35
cmp byte [esp + 0x1c], 0
lea edx, [edi + 0x3c]
mov ecx, 0x20000d
mov eax, 0x200001
cmovne eax, ecx
mov ecx, edi
or esi, eax
push esi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100da6b1
call fcn.100b6460
test al, al
je 0x100da6b1
cmp byte [esp + 0x40], 0
je 0x100da6b1
cmp byte [esp + 0x12], 0
je 0x100da693
mov edx, dword [esp + 0x68]
xorps xmm7, xmm7
mov esi, dword [esp + 0x14]
movss xmm0, dword [edx + 0x54]
subss xmm0, dword [esi + 0x18c4]
mov dword [edx + 0x7c], 0
maxss xmm0, xmm7
movss dword [edx + 0x74], xmm0
jmp 0x100dac4d
movzx eax, byte [esp + 0x1e]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, esi
push eax
call fcn.100d3cd0
jmp 0x100dac35
mov ecx, dword [0x10374464]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x100da729
call fcn.100b6460
test al, al
je 0x100da729
cmp byte [esp + 0x40], 0
je 0x100da729
cmp byte [esp + 0x12], 0
je 0x100da70b
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
mov eax, dword [0x10374464]
movss xmm0, dword [esi + 0x18c4]
addss xmm0, dword [ecx + 0x54]
mov eax, dword [eax + 0x19b0]
minss xmm0, dword [eax + 0x5c]
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x74], xmm0
jmp 0x100dac4d
movzx eax, byte [esp + 0x1e]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, esi
push eax
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x100da763
call fcn.100b6460
test al, al
je 0x100da763
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200006
or esi, 0x200004
cmp byte [esp + 0x12], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x100da79d
call fcn.100b6460
test al, al
je 0x100da79d
mov eax, esi
lea edx, [edi + 0x3c]
or eax, 0x200007
or esi, 0x200005
cmp byte [esp + 0x12], 0
mov ecx, edi
cmovne esi, eax
push esi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x100da7cf
call fcn.100b6460
test al, al
je 0x100da7cf
cmp byte [esp + 0x4c], 0
jne 0x100da7cf
or esi, 0x200008
lea edx, [edi + 0x3c]
push esi
mov ecx, edi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x100da862
call fcn.100b6460
test al, al
je 0x100da862
cmp byte [esp + 0x4c], 0
jne 0x100da862
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100da84c
cmp byte [esp + 0x1c], 0
je 0x100da805
push 0x60000c
jmp 0x100da82e
cmp byte [esp + 0x6f], 0
je 0x100da84c
mov eax, dword [esp + 0x20]
cmp byte [eax], 0
je 0x100da84c
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x102], 0
jne 0x100da84c
cmp byte [esp + 0x12], 0
jne 0x100da84c
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3cd0
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.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x100da877
call fcn.100b6460
test al, al
jne 0x100da88c
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x100da8fd
call fcn.100b6460
test al, al
je 0x100da8fd
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [esp + 0x40], 0
je 0x100da8a8
test al, al
je 0x100da8b7
cmp byte [esp + 0x12], 0
jne 0x100da8be
mov byte [esp + 0x46], 1
mov byte [esp + 0x37], 1
jmp 0x100dac49
cmp byte [esp + 0x12], 0
jne 0x100da8a8
cmp byte [esp + 0x4c], 0
jne 0x100dac49
sub esp, 8
mov dword [esp + 0x38], 0xa
mov edx, ecx
lea ecx, [esp + 0x38]
call fcn.100d8f60
add esp, 8
test al, al
je 0x100dac49
push dword [esp + 0x30]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3cd0
jmp 0x100dac35
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x100da921
call fcn.100b6460
test al, al
je 0x100da921
mov esi, dword [esp + 0x14]
mov cl, 1
mov byte [esp + 0x46], cl
jmp 0x100dac51
mov al, byte [esp + 0x2b]
test al, al
jne 0x100dac16
cmp byte [esp + 0x1f], al
jne 0x100dac16
cmp byte [esp + 0x1d], al
je 0x100da96b
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100da96b
call fcn.100b6460
test al, al
je 0x100da96b
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 0x100dac42
mov al, byte [esp + 0x36]
test al, al
jne 0x100dab12
cmp byte [esp + 0x1b], al
jne 0x100dab12
cmp byte [esp + 0x47], al
je 0x100dac49
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x100da9b0
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x100da9b5
jmp 0x100dac49
mov esi, 0x102b35f8
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100da9c0
mov eax, dword [0x10374464]
sub ecx, edx
test eax, eax
je 0x100da9d8
inc dword [eax + 0x374]
lea eax, [ecx*2 + 2]
push eax
call fcn.101fc702
mov ecx, eax
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
cmp byte [esi], al
je 0x100daa52
xor edi, edi
nop word [eax + eax]
push 0
mov edx, esi
lea ecx, [esp + 0x4c]
call fcn.100b10d0
add esp, 4
add esi, eax
cmp dword [esp + 0x48], 0
je 0x100daa42
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x48]
sub esp, 8
call fcn.100d8f60
add esp, 8
test al, al
je 0x100daa3d
mov ecx, dword [esp + 0x2c]
mov ax, word [esp + 0x48]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100daa00
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x100daaf1
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x100daa86
cmp ecx, eax
jle 0x100daa76
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x100daa7f
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x100daa86
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x100daa8e
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100d3c40
push dword [esp + 0x20]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [esp + 0x30]
call fcn.100d37c0
add esp, 8
test al, al
je 0x100daad2
push dword [esp + 0x20]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x54]
push 0
call fcn.100d49e0
mov eax, dword [esp + 0x28]
add esp, 8
add dword [edi + 0x3c], eax
mov byte [edi + 0x4b], 0
jmp 0x100daae6
movzx eax, word [edi + 0xe52]
test ax, ax
je 0x100daae6
dec eax
mov word [edi + 0xe52], ax
mov ecx, dword [esp + 0x2c]
mov byte [edi + 0xe64], 1
test ecx, ecx
je 0x100dab04
mov eax, dword [0x10374464]
test eax, eax
je 0x100dab04
dec dword [eax + 0x374]
push ecx
call fcn.101fbb85
add esp, 4
jmp 0x100dac49
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xd4], 0
je 0x100dabd6
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100dab37
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100dab3c
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x64], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100b1390
mov ecx, dword [0x10374464]
inc eax
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x100dab67
inc dword [ecx + 0x374]
push eax
call fcn.101fc702
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x48], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [esp + 0x68]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100b1260
mov eax, dword [0x10374464]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x100dabb7
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10374464]
add esp, 8
test esi, esi
je 0x100dabc5
test eax, eax
je 0x100dabc5
dec dword [eax + 0x374]
push esi
call fcn.101fbb85
mov al, byte [esp + 0x3a]
add esp, 4
mov esi, dword [esp + 0x14]
test al, al
je 0x100dac4d
mov eax, dword [edi + 0x40]
lea esi, [edi + 0x3c]
cmp eax, dword [edi + 0x44]
jne 0x100dabf8
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [esi], eax
mov byte [edi + 0x4b], 0
mov byte [edi + 0xe64], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x100dac49
mov edx, esi
mov ecx, edi
call fcn.100d3c40
mov byte [esi + 0xf], 0
jmp 0x100dac49
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100d3cd0
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 + 0x14]
mov cl, byte [esp + 0x13]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100dac64
cmp byte [esp + 0x1a], 0
je 0x100dac64
mov al, 1
jmp 0x100dac66
xor al, al
or byte [esp + 0x78], al
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100db20f
xor eax, eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x20], eax
test cl, cl
je 0x100dada1
cmp byte [esp + 0x4c], al
jne 0x100dacd5
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebp + 8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100dacc0
test dl, dl
je 0x100dacbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100dacc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100daca0
xor eax, eax
jmp 0x100dacc5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100dacd5
mov eax, dword [edi + 0x24]
dec eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x20], eax
cmp byte [esp + 0x37], 0
mov edx, dword [ebp + 0x14]
je 0x100dace8
test dl, 0x20
jne 0x100dada4
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x20]
test esi, esi
je 0x100db1ed
cmp dword [esp + 0x70], ecx
je 0x100db1b8
cmp byte [esp + 0x60], 0
je 0x100db1b8
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0x174], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x16c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x17c], eax
lea eax, [esp + 0x160]
push eax
xor eax, eax
movlpd qword [esp + 0x184], xmm0
movlpd qword [esp + 0x18c], xmm0
mov dword [esp + 0x164], 0x40000
mov dword [esp + 0x168], edx
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x16c], 0
call eax
mov edx, dword [esp + 0x180]
add esp, 4
mov eax, dword [esp + 0x174]
mov dword [ebp + 8], eax
lea ecx, [edx - 1]
cmp dword [esp + 0x178], ecx
cmovl ecx, dword [esp + 0x178]
jmp 0x100db1bb
mov edx, dword [ebp + 0x14]
cmp byte [esp + 0x4c], 0
jne 0x100dae07
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 0x100dadf0
test eax, eax
je 0x100dadd6
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100dadde
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c1680
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100b1260
mov edx, dword [ebp + 0x14]
add esp, 8
test edx, 0x1c0
je 0x100db163
xor esi, esi
test dl, 0x40
je 0x100dae3b
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100dae3b
call fcn.100b6460
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dae3b
mov esi, 0x40
xor eax, eax
jmp 0x100dae96
test dl, dl
jns 0x100dae83
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100dae61
call fcn.100b6460
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dae61
mov esi, 0x80
lea eax, [esi - 0x7d]
jmp 0x100dae96
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100dae83
call fcn.100b6460
mov edx, dword [ebp + 0x14]
test al, al
je 0x100dae83
mov esi, 0x80
lea eax, [esi - 0x7c]
jmp 0x100dae96
test edx, 0x100
mov eax, 0x100
cmovne esi, eax
mov eax, 0x16
test esi, esi
je 0x100db163
mov dword [esp + 0x140], eax
xor ecx, ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 0x144], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x148], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x130], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x14c], eax
mov eax, dword [edi + 0x3c]
mov word [esp + 0x151], cx
mov byte [esp + 0x153], cl
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ecx
lea edx, [esi + eax*2]
mov byte [esp + 0x150], cl
mov ecx, esi
mov dword [esp + 0x13c], 0
call fcn.100b1390
mov ecx, dword [esp + 0x3c]
mov edi, eax
mov dword [esp + 0x154], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100b1390
mov dword [esp + 0x30], eax
mov ecx, esi
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.100b1390
mov dword [esp + 0x64], eax
mov dword [esp + 0x15c], eax
lea eax, [esp + 0x130]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0x158]
add esp, 4
mov eax, dword [esp + 0x144]
mov dword [esp + 0x50], eax
cmp ecx, edi
je 0x100dafcc
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [esp + 0x2c], eax
nop dword [eax]
test edi, edi
je 0x100daf88
cmp esi, edi
jae 0x100dafb8
cmp byte [esi], 0
je 0x100dafb8
push edi
mov edx, esi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add esi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100dafb4
cmp eax, 0xffff
mov eax, dword [esp + 0x2c]
ja 0x100daf80
inc eax
jmp 0x100daf78
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov dword [esi + 0x3c], eax
mov eax, dword [esp + 0x50]
mov byte [esi + 0xe64], 1
jmp 0x100dafd0
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x158]
cmp ecx, dword [esp + 0x30]
je 0x100db02b
lea esi, [ecx + eax]
mov edi, eax
xor eax, eax
mov dword [esp + 0x2c], eax
test esi, esi
je 0x100daff0
cmp edi, esi
jae 0x100db020
cmp byte [edi], 0
je 0x100db020
push esi
mov edx, edi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100db01c
cmp eax, 0xffff
mov eax, dword [esp + 0x2c]
ja 0x100dafe8
inc eax
jmp 0x100dafe4
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x15c]
cmp ecx, dword [esp + 0x64]
je 0x100db082
lea esi, [ecx + eax]
mov edi, eax
xor eax, eax
mov dword [esp + 0x2c], eax
test esi, esi
je 0x100db04b
cmp edi, esi
jae 0x100db07b
cmp byte [edi], 0
je 0x100db07b
push esi
mov edx, edi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100db077
cmp eax, 0xffff
mov eax, dword [esp + 0x2c]
ja 0x100db043
inc eax
jmp 0x100db03f
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov dword [esi + 0x44], eax
cmp byte [esp + 0x150], 0
je 0x100db160
mov edi, dword [esp + 0x148]
mov ecx, dword [esp + 0x70]
cmp edi, ecx
jle 0x100db0ea
cmp byte [esp + 0x60], 0
je 0x100db0ea
mov eax, dword [esi + 0x10]
sub edi, ecx
add edi, dword [esi + 0xc]
cmp edi, eax
jle 0x100db0e7
test eax, eax
je 0x100db0c5
cdq
sub eax, edx
lea edx, [esi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100db0cd
mov ecx, 8
lea edx, [esi + 0xc]
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100c16f0
mov eax, dword [esp + 0x144]
mov dword [esp + 0x50], eax
mov dword [esi + 0xc], edi
mov ecx, dword [esi + 0x14]
mov edi, ecx
mov eax, dword [esi + 0xc]
dec eax
mov dword [esp + 0x64], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x30], eax
cmp ecx, eax
jae 0x100db140
mov esi, dword [esp + 0x50]
cmp byte [esi], 0
je 0x100db138
push 0
mov edx, esi
lea ecx, [esp + 0x3c]
call fcn.100b10d0
add esi, eax
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100db138
cmp eax, 0xffff
ja 0x100db132
mov word [edi], ax
add edi, 2
cmp edi, dword [esp + 0x30]
jb 0x100db106
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
xor eax, eax
mov word [edi], ax
sub edi, ecx
mov eax, dword [esp + 0x148]
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 + 0x4c], 0
mov edi, dword [esp + 0x3c]
jne 0x100dace8
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 0x100db1a0
test dl, dl
je 0x100db19c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100db1a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100db180
xor eax, eax
jmp 0x100db1a5
sbb eax, eax
or eax, 1
mov edx, dword [ebp + 0x14]
test eax, eax
je 0x100dace8
mov ecx, dword [edi + 8]
jmp 0x100dacf0
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x100db1e8
jbe 0x100db1e0
lea eax, [edx - 1]
push eax
push esi
push dword [ebp + 8]
call fcn.101fd930
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [edx + eax - 1], 0
mov byte [esp + 0x57], 1
mov esi, dword [esp + 0x14]
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [edi + 0xe70], 0
cmp byte [esp + 0x46], 0
mov ecx, dword [esp + 0x24]
je 0x100db22f
cmp dword [esi + 0x19ec], ecx
jne 0x100db22f
xor edx, edx
xor ecx, ecx
call fcn.100b3990
mov ecx, dword [esp + 0x24]
cmp byte [esp + 0x40], 0
jne 0x100db3be
mov edx, ecx
lea ecx, [esp + 0x98]
push 1
call fcn.100b2a50
mov eax, dword [0x10374464]
xorps xmm3, xmm3
movss xmm5, dword [0x102ba7b4]
add esp, 4
movups xmm0, xmmword [eax + 0x1630]
comiss xmm3, xmm0
movaps xmm1, xmm0
movaps xmmword [esp + 0xc0], xmm0
shufps xmm1, xmm0, 0xff
mulss xmm1, dword [eax + 0x1510]
jbe 0x100db285
xorps xmm0, xmm0
jmp 0x100db289
minss xmm0, xmm5
movss xmm2, dword [0x102baa58]
movss xmm4, dword [0x102ba73c]
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0xc4]
shl edx, 0x10
comiss xmm3, xmm0
jbe 0x100db2bb
xorps xmm0, xmm0
jmp 0x100db2bf
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc8]
shl eax, 8
or edx, eax
comiss xmm3, xmm0
jbe 0x100db2e3
xorps xmm0, xmm0
jmp 0x100db2e7
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si eax, xmm0
or edx, eax
comiss xmm3, xmm1
jbe 0x100db2ff
xorps xmm1, xmm1
jmp 0x100db303
minss xmm1, xmm5
push dword [esp + 0xa4]
mulss xmm1, xmm2
push dword [esp + 0xa4]
movss xmm2, dword [esi + 0x1550]
push dword [esp + 0xa4]
addss xmm1, xmm4
push dword [esp + 0xa4]
cvttss2si ecx, xmm1
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.100b2270
movss xmm4, dword [esp + 0xa8]
add esp, 0x10
movss xmm5, dword [esp + 0x9c]
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x1548]
movss xmm3, dword [esp + 0x80]
movaps xmm2, xmm4
movaps xmm1, xmm5
movss dword [esp + 0x110], xmm4
addss xmm1, dword [esp + 0x74]
addss xmm2, xmm3
movss dword [esp + 0x114], xmm5
movss dword [esp + 0xb0], xmm0
movaps xmm0, xmm5
addss xmm0, dword [esi + 0x154c]
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x38], xmm2
movss dword [esp + 0x118], xmm2
movss dword [esp + 0xb4], xmm0
jmp 0x100db435
movss xmm0, dword [esp + 0x98]
movss xmm3, dword [esp + 0x80]
movss xmm1, dword [esp + 0x9c]
movaps xmm2, xmm3
mov ecx, dword [esp + 0x68]
addss xmm2, xmm0
movss dword [esp + 0x110], xmm0
movss dword [esp + 0x114], xmm1
mov eax, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0xdc]
movaps xmm0, xmm2
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x118], xmm0
movss xmm0, dword [esp + 0x74]
addss xmm0, xmm1
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
movss dword [esp + 0x70], xmm0
movaps xmm1, xmm0
cmp byte [esp + 0x56], 0
lea eax, [esp + 0xb0]
movss xmm0, dword [eax]
xorps xmm7, xmm7
movss dword [esp + 0x84], xmm0
movss xmm0, dword [eax + 4]
mov dword [esp + 0x58], eax
movss dword [esp + 0x11c], xmm1
movss dword [esp + 0x60], xmm1
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x64], xmm7
movss dword [esp + 0x30], xmm7
je 0x100db494
mov edx, dword [edi + 0x20]
mov dword [ebp + 8], edx
jmp 0x100db497
mov edx, dword [ebp + 8]
cmp byte [esp + 0x1a], 0
jne 0x100db6b2
cmp byte [esp + 0x78], 0
jne 0x100db6b2
cmp byte [esp + 0x40], 0
je 0x100db504
mov esi, dword [ebp + 8]
xor ecx, ecx
mov dl, byte [edx]
inc esi
test dl, dl
je 0x100db4d2
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x100db4c0
mov al, byte [esi - 1]
dec esi
mov dword [esp + 0x24], esi
cmp al, 0xa
je 0x100db4e3
cmp al, 0xd
je 0x100db4e3
inc ecx
mov eax, dword [esp + 0x14]
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movss dword [esp + 0x64], xmm3
mulss xmm6, dword [eax + 0x18c4]
movss dword [esp + 0x30], xmm6
jmp 0x100db542
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x19ec], eax
jne 0x100db517
mov edi, dword [edi + 8]
add edi, edx
jmp 0x100db52f
mov ecx, edx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100db520
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 0x100dc25e
movss xmm1, dword [0x102ba7b4]
xor ecx, ecx
call fcn.100b19d0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x110]
movss xmm2, dword [ecx + 0x18c4]
lea edi, [ecx + 0x18c4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x68]
mov esi, dword [eax + 0x284]
mov eax, dword [ecx + 0x18c0]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x48], eax
xor eax, eax
cmp byte [esp + 0x40], al
mov dword [esp + 0x60], ecx
cmovne edx, eax
test dword [esp + 0x70], 0xff000000
mov eax, edi
je 0x100dc21b
test ecx, ecx
jne 0x100db5c3
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100db5b1
sub ecx, dword [esp + 0x38]
add ecx, dword [ebp + 8]
mov dword [esp + 0x60], ecx
mov eax, edi
cmp dword [ebp + 8], ecx
je 0x100dc21b
cmp dword [esp + 0x48], 0
jne 0x100db5df
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100db5f0
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 + 0xf0], xmm0
test edx, edx
je 0x100db671
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xf0]
comiss xmm0, xmm1
jae 0x100db625
movss dword [esp + 0xf0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xf4]
comiss xmm0, xmm1
jae 0x100db641
movss dword [esp + 0xf4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xf8]
ja 0x100db659
movss dword [esp + 0xf8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xfc]
ja 0x100db671
movss dword [esp + 0xfc], xmm0
mov eax, dword [esp + 0x58]
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 + 0x100]
mov dword [esp], 0
push dword [esp + 0x70]
push dword [ebp + 8]
push eax
push dword [esp + 0x8c]
push esi
call fcn.100cf900
mov eax, edi
jmp 0x100dc21b
mov eax, dword [edi + 8]
mov esi, 0xfffffc18
mov ecx, dword [edi + 0x14]
xorps xmm2, xmm2
mov dword [esp + 0x8c], eax
xorps xmm6, xmm6
add eax, edx
mov dword [esp + 0x50], ecx
xor edx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x5c], esi
cmp byte [esp + 0x1a], dl
je 0x100db711
mov eax, dword [edi + 0x3c]
or esi, 0xffffffff
mov dword [esp + 0x20], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x94], eax
lea edx, [esi + 2]
cmp byte [esp + 0x78], 0
je 0x100db73d
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x50]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [esp + 0x5c], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x40]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
movzx eax, word [eax]
test ax, ax
je 0x100db7b7
mov edi, dword [esp + 0x20]
mov esi, eax
nop
cmp si, 0xa
jne 0x100db79d
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp edi, 0xffffffff
jne 0x100db784
cmp ecx, dword [esp + 0x94]
jb 0x100db784
dec edx
mov edi, eax
test edx, edx
jle 0x100db7ab
cmp dword [esp + 0x5c], 0xffffffff
jne 0x100db79d
cmp ecx, dword [esp + 0x90]
jb 0x100db79d
dec edx
mov dword [esp + 0x5c], eax
test edx, edx
jle 0x100db7ab
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x100db760
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x94]
inc eax
cmp esi, 0xffffffff
mov dword [esp + 0x2c], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [esp + 0x5c], ecx
mov ecx, edx
cmp edx, esi
jbe 0x100db7fe
nop
cmp word [ecx - 2], 0xa
je 0x100db7fe
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x100db7f0
mov eax, dword [0x10374464]
movaps xmm0, xmm2
movss dword [esp + 0x20], xmm0
movaps xmm1, xmm2
mov esi, dword [eax + 0x18c0]
movss xmm4, dword [eax + 0x18c4]
divss xmm4, dword [esi + 0x10]
cmp ecx, edx
jae 0x100db87c
mov edi, dword [esp + 0x94]
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x100db84c
maxss xmm0, xmm1
movaps xmm1, xmm2
movss dword [esp + 0x20], xmm0
jmp 0x100db874
cmp edx, 0xd
je 0x100db874
mov edx, eax
cmp edx, dword [esi]
jge 0x100db861
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x100db866
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm4
addss xmm1, xmm0
movss xmm0, dword [esp + 0x20]
cmp ecx, edi
jb 0x100db830
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x5c], 0
maxss xmm0, xmm1
movd xmm5, dword [esp + 0xac]
mov ecx, dword [esp + 0x14]
cvtdq2ps xmm5, xmm5
movss xmm3, dword [ecx + 0x18c4]
mulss xmm5, xmm3
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x12c], xmm5
jl 0x100db94f
mov edx, dword [esp + 0x90]
mov ecx, edx
cmp edx, dword [esp + 0x50]
jbe 0x100db8e2
mov edi, dword [esp + 0x50]
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x100db8de
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x100db8d0
mov edi, dword [esp + 0x3c]
movaps xmm6, xmm2
cmp ecx, edx
jae 0x100db93a
xorps xmm7, xmm7
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x100db904
maxss xmm6, xmm2
movaps xmm2, xmm7
jmp 0x100db930
cmp eax, 0xd
je 0x100db930
mov edx, eax
cmp edx, dword [esi]
jge 0x100db919
mov eax, dword [esi + 8]
movss xmm1, dword [eax + edx*4]
jmp 0x100db91e
movss xmm1, dword [esi + 0xc]
mov edx, dword [esp + 0x90]
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm2, xmm0
cmp ecx, edx
jb 0x100db8f0
movss xmm0, dword [esp + 0x20]
movd xmm7, dword [esp + 0x5c]
maxss xmm6, xmm2
mov ecx, dword [esp + 0x14]
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm3
mov edx, dword [esp + 0x40]
test dl, dl
je 0x100db97b
movd xmm2, dword [esp + 0x2c]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm3
movss xmm3, dword [esp + 0x80]
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x30], xmm2
jmp 0x100db984
movss xmm3, dword [esp + 0x80]
cmp byte [esp + 0x1a], 0
je 0x100dba5b
cmp byte [edi + 0xe64], 0
je 0x100dba5b
test dword [ebp + 0x14], 0x1000
jne 0x100db9f9
movss xmm2, dword [edi + 0x38]
movaps xmm1, xmm3
comiss xmm2, xmm0
mulss xmm1, dword [0x102ba6f8]
jbe 0x100db9d7
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100dba03
subss xmm0, xmm3
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x100dba03
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100dba03
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100dba54
mov edx, dword [esp + 0x68]
movaps xmm0, xmm5
subss xmm0, dword [ecx + 0x18c4]
movss xmm1, dword [edx + 0x54]
comiss xmm1, xmm0
jbe 0x100dba26
maxss xmm0, xmm2
jmp 0x100dba33
movaps xmm0, xmm5
subss xmm0, dword [esp + 0x74]
maxss xmm0, xmm1
mov eax, dword [esp + 0x58]
subss xmm1, xmm0
movss dword [edx + 0x54], xmm0
addss xmm1, dword [eax + 4]
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x88], xmm1
mov byte [edi + 0xe64], 0
cmp byte [esp + 0x78], 0
movss xmm4, dword [edi + 0x38]
movss dword [esp + 0x2c], xmm4
je 0x100dbd35
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [esp + 0x50]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x1a], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x50]
lea eax, [eax + edx*2]
mov dword [esp + 0x90], eax
je 0x100dbaa7
movss xmm1, dword [0x102ba7b4]
jmp 0x100dbaaf
movss xmm1, dword [0x102ba750]
mov ecx, 0x2a
call fcn.100b19d0
cmp byte [esp + 0x40], 0
mov dword [esp + 0xac], eax
je 0x100dbad5
xorps xmm0, xmm0
movss dword [esp + 0xf0], xmm0
jmp 0x100dbadd
movss xmm0, dword [0x102ba808]
mov ecx, dword [esp + 0x58]
movss dword [esp + 0x94], xmm0
movss xmm4, dword [ecx]
mov ecx, dword [esp + 0x90]
addss xmm4, xmm6
movss xmm6, dword [esp + 0x7c]
movaps xmm5, xmm6
addss xmm5, xmm7
subss xmm4, dword [esp + 0x2c]
movss dword [esp + 0x78], xmm5
cmp esi, ecx
jae 0x100dbd8b
movss xmm7, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0xac]
mov edx, dword [esp + 0x14]
nop
movss xmm6, dword [edx + 0x18c4]
movaps xmm0, xmm7
addss xmm0, xmm6
comiss xmm5, xmm0
ja 0x100dbd2b
movss xmm0, dword [esp + 0x9c]
comiss xmm0, xmm5
jbe 0x100dbb79
cmp esi, ecx
jae 0x100dbd0b
nop
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100dbd07
cmp esi, ecx
jb 0x100dbb60
jmp 0x100dbd07
mov eax, dword [0x10374464]
xorps xmm0, xmm0
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 0x100dbbdb
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x100dbc00
cmp eax, 0xd
je 0x100dbbd4
mov ecx, eax
cmp ecx, dword [edx]
jge 0x100dbbc0
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x100dbbc5
movss xmm0, dword [edx + 0xc]
mov ecx, dword [esp + 0x90]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x100dbba0
xorps xmm0, xmm0
maxss xmm3, xmm1
comiss xmm0, xmm3
jb 0x100dbc27
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18c0]
cmp dword [eax], 0x20
jle 0x100dbc0f
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100dbc14
movaps xmm3, xmm1
xorps xmm0, xmm0
maxss xmm3, xmm0
xorps xmm1, xmm1
jmp 0x100dbbdb
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x102ba73c]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm2, dword [esp + 0xf0]
addss xmm3, xmm4
movss xmm1, dword [esp + 0x94]
subss xmm2, xmm6
movss xmm6, dword [esp + 0x38]
addss xmm1, xmm5
maxss xmm4, dword [esp + 0x98]
movaps xmm0, xmm7
minss xmm3, xmm6
addss xmm2, xmm5
minss xmm0, xmm1
movss dword [esp + 0xc0], xmm4
movss dword [esp + 0xc8], xmm3
maxss xmm2, dword [esp + 0x9c]
comiss xmm0, dword [esp + 0x9c]
movss dword [esp + 0xc4], xmm2
movss dword [esp + 0xcc], xmm0
jbe 0x100dbd03
comiss xmm7, xmm2
jbe 0x100dbd03
comiss xmm3, dword [esp + 0x98]
jbe 0x100dbd03
comiss xmm6, xmm4
jbe 0x100dbd03
push 0xf
push ecx
mov dword [esp], 0
lea eax, [esp + 0xd0]
push edi
push eax
lea eax, [esp + 0xd0]
push eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x284]
call fcn.100cb8f0
movss xmm0, dword [esp + 0x48]
movss xmm5, dword [esp + 0x78]
movss xmm7, dword [esp + 0x60]
mov ecx, dword [esp + 0x90]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x70], xmm0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
movss xmm4, dword [eax]
addss xmm5, dword [edx + 0x18c4]
subss xmm4, dword [esp + 0x2c]
movss dword [esp + 0x78], xmm5
cmp esi, ecx
jb 0x100dbb30
movss xmm4, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
movss xmm6, dword [esp + 0x7c]
cmp byte [esp + 0x40], 0
jne 0x100dbd53
cmp dword [esp + 0x8c], 0x200000
jge 0x100dbfb6
mov eax, dword [0x10374464]
xorps xmm7, xmm7
movss xmm5, dword [0x102ba7b4]
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 0x100dbd93
xorps xmm0, xmm0
jmp 0x100dbd97
movss xmm4, dword [esp + 0x2c]
jmp 0x100dbd3b
minss xmm0, xmm5
movss xmm2, dword [0x102baa58]
movss xmm3, dword [0x102ba73c]
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0xc4]
shl ecx, 0x10
comiss xmm7, xmm0
jbe 0x100dbdc9
xorps xmm0, xmm0
jmp 0x100dbdcd
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xc8]
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x100dbdf1
xorps xmm0, xmm0
jmp 0x100dbdf5
minss xmm0, xmm5
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm1
jbe 0x100dbe0d
xorps xmm1, xmm1
jmp 0x100dbe11
minss xmm1, xmm5
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x68]
mulss xmm1, xmm2
mov dword [esp + 0x8c], 0
movss xmm0, dword [edx]
mov edx, dword [esp + 0x14]
subss xmm0, xmm4
mov esi, dword [esi + 0x284]
addss xmm1, xmm3
movss dword [esp + 0xf4], xmm6
movss xmm2, dword [edx + 0x18c4]
mov edx, dword [edx + 0x18c0]
cvttss2si eax, xmm1
mov dword [esp + 0x60], edx
lea edx, [esp + 0x110]
movss dword [esp + 0xf0], xmm0
shl eax, 0x18
or eax, ecx
cmp byte [esp + 0x40], 0
mov ecx, dword [esp + 0x24]
cmovne edx, dword [esp + 0x8c]
mov dword [esp + 0xac], eax
mov dword [esp + 0x38], ecx
test eax, 0xff000000
je 0x100dbfb9
test ecx, ecx
jne 0x100dbec9
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x8c], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100dbeb0
sub ecx, dword [esp + 0x8c]
mov eax, dword [ebp + 8]
add ecx, eax
mov dword [esp + 0x38], ecx
jmp 0x100dbecc
mov eax, dword [ebp + 8]
cmp eax, ecx
je 0x100dbfb9
cmp dword [esp + 0x60], 0
jne 0x100dbee5
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jp 0x100dbef6
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 + 0xc0], xmm0
test edx, edx
je 0x100dbf77
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xc0]
comiss xmm0, xmm1
jae 0x100dbf2b
movss dword [esp + 0xc0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xc4]
comiss xmm0, xmm1
jae 0x100dbf47
movss dword [esp + 0xc4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xc8]
ja 0x100dbf5f
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xcc]
ja 0x100dbf77
movss dword [esp + 0xcc], xmm0
push dword [esp + 0xf4]
test edx, edx
push dword [esp + 0xf4]
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0xd0]
mov dword [esp], 0
push dword [esp + 0x48]
push dword [ebp + 8]
push eax
push dword [esp + 0xc8]
push esi
call fcn.100cf900
xorps xmm7, xmm7
cmp byte [esp + 0x1a], 0
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 0x18c4]
mov eax, esi
je 0x100dc21b
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edi + 0xe60]
movss dword [edi + 0xe60], xmm0
cmp byte [ecx + 0xb2], 0
movss dword [esp + 0x8c], xmm0
je 0x100dc02b
comiss xmm7, xmm0
jae 0x100dc02b
fld dword [esp + 0x8c]
fld dword [0x102ba7c4]
call fcn.1021c930
movss xmm0, dword [0x102ba780]
fstp dword [esp + 0x8c]
comiss xmm0, dword [esp + 0x8c]
jae 0x100dc02b
xor al, al
jmp 0x100dc02d
mov al, 1
movss xmm4, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
movss xmm3, dword [esp + 0x20]
movss xmm6, dword [0x102ba73c]
movss xmm7, dword [0x102ba7b4]
addss xmm4, dword [esp + 0x12c]
addss xmm3, dword [ecx]
movss dword [esp + 0x7c], xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
subss xmm3, dword [esp + 0x2c]
subss xmm0, dword [esi]
subss xmm2, dword [0x102ba7d0]
movss dword [esp + 0x20], xmm3
movaps xmm1, xmm3
movss dword [esp + 0xc0], xmm3
addss xmm0, xmm6
movss dword [esp + 0xcc], xmm2
addss xmm1, xmm7
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xc8], xmm1
test al, al
je 0x100dc1f4
comiss xmm2, dword [esp + 0x9c]
jbe 0x100dc1f4
movss xmm4, dword [esp + 0x70]
comiss xmm4, xmm0
jbe 0x100dc1ee
comiss xmm1, dword [esp + 0x98]
jbe 0x100dc1ee
movss xmm0, dword [esp + 0x48]
comiss xmm0, xmm3
jbe 0x100dc1ee
mov eax, dword [0x10374464]
xorps xmm5, xmm5
movups xmm1, xmmword [eax + 0x15c0]
comiss xmm5, xmm1
movaps xmm0, xmm1
movaps xmmword [esp + 0x110], xmm1
shufps xmm0, xmm1, 0xff
mulss xmm0, dword [eax + 0x1510]
jbe 0x100dc11f
xorps xmm1, xmm1
jmp 0x100dc123
minss xmm1, xmm7
movss xmm4, dword [0x102baa58]
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si ecx, xmm1
movss xmm1, dword [esp + 0x114]
shl ecx, 0x10
comiss xmm5, xmm1
jbe 0x100dc14d
xorps xmm1, xmm1
jmp 0x100dc151
minss xmm1, xmm7
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x118]
shl eax, 8
or ecx, eax
comiss xmm5, xmm1
jbe 0x100dc175
xorps xmm1, xmm1
jmp 0x100dc179
minss xmm1, xmm7
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si eax, xmm1
or ecx, eax
comiss xmm5, xmm0
jbe 0x100dc191
xorps xmm0, xmm0
jmp 0x100dc195
minss xmm0, xmm7
mulss xmm0, xmm4
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0xb4], xmm3
addss xmm0, xmm6
movss dword [esp + 0xb8], xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xcc]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x284]
call fcn.100cb5d0
movss xmm3, dword [esp + 0x20]
movss xmm7, dword [0x102ba7b4]
movss xmm4, dword [esp + 0x7c]
cmp byte [esp + 0x4c], 0
mov eax, esi
jne 0x100dc21b
mov eax, dword [esp + 0x14]
subss xmm3, xmm7
subss xmm4, dword [esi]
movss dword [eax + 0x2d24], xmm3
movss dword [eax + 0x2d28], xmm4
mov eax, esi
cmp byte [esp + 0x40], 0
je 0x100dc25a
movss xmm0, dword [esp + 0x64]
lea ecx, [esp + 0xb0]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [eax]
movss dword [esp + 0xb4], xmm0
call fcn.100d7710
call fcn.100b6730
call fcn.100bbc70
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xa8]
test cl, cl
je 0x100dc2c6
mov esi, dword [0x10374464]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.100c96e0
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x100dc2b0
mov eax, dword [0x10374464]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x100dc2ba
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x100dc2ba
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.100bb5c0
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2d60], 0
je 0x100dc2ee
test cl, cl
jne 0x100dc2ee
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x84]
push edi
call fcn.100c01d0
mov eax, dword [esp + 0x18]
add esp, 4
movss xmm0, dword [esp + 0x10c]
xorps xmm7, xmm7
comiss xmm0, xmm7
jbe 0x100dc354
movss xmm0, dword [esp + 0xa0]
xor edx, edx
addss xmm0, dword [eax + 0x1560]
mov ecx, dword [esp + 0xec]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x9c]
addss xmm0, dword [eax + 0x154c]
movss dword [esp + 0x88], xmm0
push dword [esp + 0x88]
push dword [esp + 0x88]
push 1
call fcn.100b1b70
add esp, 0xc
mov dl, byte [esp + 0x57]
mov ecx, dword [ebp + 0x14]
test dl, dl
je 0x100dc382
test ecx, 0x200000
jne 0x100dc382
mov eax, dword [0x10374464]
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 + 0x37]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret