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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x188
mov eax, dword [0x10101040]
xor eax, esp
mov dword [esp + 0x184], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [0x10103540]
push edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
call fcn.10010bc0
mov edi, eax
test edi, edi
sete byte [esp + 0x1b]
test edi, edi
jne 0x10013942
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
call fcn.10010f50
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
mov edx, eax
and ecx, 0xc0200
or edx, 6
cmp ecx, 0xc0200
mov ecx, dword [esi + 0x3fe0]
cmovne edx, eax
mov dword [esp + 0x58], ecx
cmp dword [esi + 0x4040], 0
mov eax, dword [edi + 0x270]
mov dword [esp + 0x54], eax
lea eax, [esi + 0x4040]
mov dword [esp + 0x1c], edx
jne 0x10013990
cmp byte [esi + 0x3ff1], 0
je 0x10013990
mov al, 1
jmp 0x10013992
xor al, al
mov byte [edi + 0xe7], al
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
setl ch
mov byte [esp + 0x1a], ch
test edx, 0x4000000
je 0x100139e6
mov eax, dword [esi + 0x4ac4]
lea esi, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x4ac0]
mov eax, dword [edi + 0xf8]
cmp edi, dword [edx + esi*8 + 4]
setne cl
cmp eax, dword [edx + esi*8]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
setne al
or cl, al
or ch, cl
mov byte [esp + 0x1a], ch
mov al, byte [edi + 0xe5]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x10013a81
push edx
mov dl, byte [esp + 0x1f]
mov ecx, edi
call fcn.10010d00
mov al, byte [esp + 0x1e]
add esp, 4
mov byte [edi + 0xe5], al
test al, al
je 0x10013a37
or byte [edi + 0x108], 8
or byte [edi + 0x109], 8
or byte [edi + 0x10a], 8
or byte [edi + 0x10b], 8
mov eax, dword [edi + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [edi + 0x270], eax
xor eax, eax
movsd xmm0, qword [esi + 0x3fd8]
cvtpd2ps xmm0, xmm0
mov word [edi + 0xf0], ax
movss dword [edi + 0x278], xmm0
movzx eax, word [esi + 0x4058]
inc dword [esi + 0x4058]
mov word [edi + 0xf2], ax
jmp 0x10013a88
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
test dword [esi + 0x49e4], 0x200
je 0x10013aaa
push dword [esi + 0x49f4]
mov edx, dword [esi + 0x4a44]
mov ecx, edi
call fcn.100289b0
add esp, 4
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x10013ba2
cmp dword [edi + 0x3c0], 0
jne 0x10013b7b
cmp dword [edi + 0x3b8], 0
jne 0x10013b7b
mov eax, dword [0x10103540]
xor cl, cl
cmp byte [eax + 0x46], cl
jne 0x10013ae7
cmp byte [edi + 0x2c], cl
je 0x10013b7d
test dword [edi + 0xc], 0x1200001
lea eax, [edi + 0xc]
mov dword [esp + 0x14], eax
jne 0x10013b7d
cmp byte [edi + 0xe7], 0
jne 0x10013b7d
mov al, byte [edi + 0x39d]
mov byte [esp + 0x13], al
xor edx, edx
mov ecx, edi
call fcn.10028e40
test byte [edi + 0x39d], 1
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov dword [esp + 0x1c], edx
je 0x10013b31
and dword [esi + 0x49e4], 0xffffffef
test byte [edi + 0x39d], 4
je 0x10013ba6
mov al, byte [esp + 0x13]
test al, 4
jne 0x10013ba6
test al, 2
je 0x10013ba6
cmp byte [edi + 0xe5], 0
jne 0x10013ba6
cmp byte [esp + 0x12], 0
jne 0x10013ba6
or byte [edi + 0x108], 8
or byte [edi + 0x109], 8
or byte [edi + 0x10a], 8
or byte [edi + 0x10b], 8
mov byte [edi + 0xe5], 1
jmp 0x10013ba6
mov cl, 1
lea eax, [edi + 0xc]
mov dword [esp + 0x14], eax
mov al, byte [edi + 0x39d]
mov byte [esp + 0x13], al
test cl, cl
jne 0x10013b0e
and al, 0xfb
and al, 0xfd
and al, 0xfe
mov byte [edi + 0x39d], al
mov edx, dword [esp + 0x1c]
test byte [edi + 0x39d], 1
je 0x10013bc0
mov eax, dword [edi + 0x3b8]
mov eax, dword [eax + 0x70]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x10013bdb
mov eax, dword [esi + 0x4040]
test eax, eax
je 0x10013bd7
imul ecx, eax, 0x54
mov eax, dword [esi + 0x4048]
mov eax, dword [ecx + eax - 0x54]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x58]
je 0x10013bf9
mov ecx, edx
and ecx, 0x5000000
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x48], ecx
jmp 0x10013c03
mov eax, dword [edi + 0x338]
mov dword [esp + 0x48], eax
cmp dword [edi + 0x11c], 0
lea eax, [edi + 0x11c]
jne 0x10013c38
cmp dword [eax + 4], 0
jne 0x10013c27
push 8
mov ecx, eax
call fcn.1002bd30
lea eax, [edi + 0x11c]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 8]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x11c]
push 0x4e
lea eax, [esp + 0xd8]
mov dword [esi + 0x4064], edi
push 0
push eax
call fcn.10065d90
mov eax, dword [esi + 0x49e0]
lea edx, [esi + 0x4040]
movups xmm0, xmmword [esi + 0x49a8]
mov dword [esp + 0x118], eax
add esp, 0xc
movzx eax, word [edi + 0x11c]
mov word [esp + 0x110], ax
movzx eax, word [esi + 0x4a70]
mov word [esp + 0x112], ax
movzx eax, word [esi + 0x4a7c]
mov ecx, dword [edx]
mov word [esp + 0x114], ax
movzx eax, word [esi + 0x4a88]
mov word [esp + 0x116], ax
movzx eax, word [esi + 0x4a94]
mov word [esp + 0x118], ax
movzx eax, word [esi + 0x4aac]
mov word [esp + 0x11a], ax
movzx eax, word [esi + 0x4aa0]
movups xmmword [esp + 0xd4], xmm0
mov word [esp + 0x11c], ax
lea eax, [esi + 0x4ac4]
movups xmm0, xmmword [esi + 0x49b8]
mov dword [esp + 0x64], eax
movzx eax, word [eax]
movups xmmword [esp + 0xe4], xmm0
mov word [esp + 0x11e], ax
movups xmm0, xmmword [esi + 0x49c8]
movzx eax, word [esi + 0x5dc4]
mov word [esp + 0x120], ax
mov eax, dword [edx + 4]
mov dword [esp + 0xd0], edi
movups xmmword [esp + 0xf4], xmm0
movq xmm0, qword [esi + 0x49d8]
movq qword [esp + 0x104], xmm0
cmp ecx, eax
jne 0x10013d6d
inc ecx
test eax, eax
je 0x10013d55
cdq
sub eax, edx
lea edx, [esi + 0x4040]
sar eax, 1
add eax, dword [edx + 4]
jmp 0x10013d5a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.1002c240
lea edx, [esi + 0x4040]
imul ecx, dword [edx], 0x54
movups xmm0, xmmword [esp + 0xd0]
mov eax, dword [esp + 0x120]
add ecx, dword [edx + 8]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [esp + 0xe0]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [esp + 0xf0]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [esp + 0x100]
movups xmmword [ecx + 0x30], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [ecx + 0x40], xmm0
mov dword [ecx + 0x50], eax
inc dword [edx]
mov eax, dword [esp + 0x1c]
test eax, 0x10000000
je 0x10013dcb
inc dword [esi + 0x4adc]
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x58]
je 0x10013def
push dword [esp + 0x48]
mov edx, eax
mov ecx, edi
call fcn.10013820
mov eax, dword [esp + 0x48]
add esp, 4
mov dword [edi + 0x33c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x30], eax
mov eax, dword [0x10103540]
mov ecx, dword [eax + 0x4a98]
lea edx, [eax + 0x4a94]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x14], edx
cmp dword [edx], ecx
jne 0x10013e42
test ecx, ecx
je 0x10013e29
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x14]
sar eax, 1
add eax, ecx
jmp 0x10013e2e
mov eax, 8
mov ecx, dword [edx]
inc ecx
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.1002bd30
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, dword [edx + 8]
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4], esi
mov eax, esi
inc dword [edx]
test dword [esp + 0x1c], 0x4000000
mov ecx, dword [esp + 0x13c]
mov esi, dword [esp + 0x28]
mov dword [ecx + 0x497c], eax
mov eax, dword [esi + 0x497c]
mov dword [edi + 0x390], eax
mov dword [esi + 0x4064], 0
je 0x10013f3a
mov eax, dword [esi + 0x4ac4]
mov ecx, dword [esi + 0x4ac0]
mov dword [esp + 0x14], ecx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x44]
mov dword [ecx + edx*8 + 4], edi
mov dword [esp + 0x13c], edx
mov eax, dword [eax + 0x180]
mov dword [ecx + edx*8 + 0xc], eax
mov eax, dword [esi + 0x4ac8]
mov ecx, dword [esi + 0x4ac4]
cmp ecx, eax
jne 0x10013ef7
inc ecx
test eax, eax
je 0x10013ed8
cdq
sub eax, edx
lea edx, [esi + 0x4ac4]
sar eax, 1
add eax, dword [edx + 4]
jmp 0x10013ee3
mov eax, 8
lea edx, [esi + 0x4ac4]
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.10006890
mov edx, dword [esp + 0x13c]
mov esi, dword [esp + 0x64]
mov eax, dword [esi]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x14]
movups xmm0, xmmword [esi + edx*8]
movups xmmword [eax + ecx*8], xmm0
movups xmm0, xmmword [esi + edx*8 + 0x10]
movups xmmword [eax + ecx*8 + 0x10], xmm0
movq xmm0, qword [esi + edx*8 + 0x20]
movq qword [eax + ecx*8 + 0x20], xmm0
mov eax, dword [esp + 0x64]
inc dword [eax]
mov eax, esi
mov esi, dword [esp + 0x28]
mov eax, dword [eax + edx*8]
mov dword [edi + 0xf8], eax
test byte [esi + 0x49e4], 1
mov byte [esp + 0x19], 0
mov byte [esp + 0x12], 0
mov byte [esp + 0x18], 0
je 0x10013ff4
mov dl, byte [edi + 0x108]
mov ecx, dword [esi + 0x49e8]
movsx eax, dl
test ecx, eax
setne byte [esp + 0x19]
test ecx, eax
je 0x10013fe3
movss xmm1, dword [esi + 0x4a04]
movss xmm0, dword [esi + 0x4a00]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x100f8ea4]
jbe 0x10013fe3
mov eax, dword [esi + 0x49f8]
mov ecx, dword [esi + 0x49fc]
mov dword [edi + 0x110], ecx
mov dword [edi + 0x10c], eax
mov eax, dword [esi + 0x4a00]
mov ecx, dword [esi + 0x4a04]
mov dword [edi + 0x118], ecx
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x108]
movzx ecx, dl
and eax, 0xffffff00
and ecx, 0xf1
or ecx, eax
mov dword [edi + 0x108], ecx
jmp 0x10013ff4
push ecx
lea edx, [esi + 0x49f8]
mov ecx, edi
call fcn.10017250
add esp, 4
test byte [esi + 0x49e4], 2
xorps xmm1, xmm1
je 0x10014055
movsx eax, byte [edi + 0x109]
lea edx, [esi + 0x4a08]
mov ecx, dword [esi + 0x49ec]
and eax, ecx
je 0x10014027
movss xmm0, dword [edx]
comiss xmm0, xmm1
jbe 0x10014027
mov byte [esp + 0x12], 1
jmp 0x10014030
mov byte [esp + 0x12], 0
test eax, eax
je 0x10014042
movss xmm0, dword [esi + 0x4a0c]
comiss xmm0, xmm1
mov byte [esp + 0x18], 1
ja 0x10014047
mov byte [esp + 0x18], 0
push ecx
mov ecx, edi
call fcn.100173b0
add esp, 4
xorps xmm1, xmm1
test byte [esi + 0x49e4], 0x80
je 0x1001409c
movss xmm0, dword [esi + 0x4a18]
comiss xmm0, xmm1
jb 0x1001407d
movss dword [edi + 0xbc], xmm0
mov dword [edi + 0xc4], 0
movss xmm0, dword [esi + 0x4a1c]
comiss xmm0, xmm1
jb 0x1001409c
movss dword [edi + 0xc0], xmm0
mov dword [edi + 0xc8], 0
test byte [esi + 0x49e4], 4
je 0x100140b9
mov eax, dword [esi + 0x4a10]
mov ecx, dword [esi + 0x4a14]
mov dword [edi + 0x6c], eax
mov dword [edi + 0x70], ecx
jmp 0x100140d1
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x100140d1
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
test dword [esi + 0x49e4], 0x400
je 0x100140fe
movups xmm0, xmmword [esi + 0x4a48]
movups xmmword [edi + 0x14], xmm0
movq xmm0, qword [esi + 0x4a58]
movq qword [edi + 0x24], xmm0
mov eax, dword [esi + 0x4a60]
mov dword [edi + 0x2c], eax
test byte [esi + 0x49e4], 8
je 0x1001414b
mov ecx, dword [esi + 0x49f0]
mov dl, byte [esi + 0x4a21]
test ecx, ecx
je 0x10014122
movsx eax, byte [edi + 0x10a]
test ecx, eax
je 0x1001414b
movzx ecx, byte [edi + 0x10a]
mov eax, dword [edi + 0x108]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [edi + 0xe2], dl
mov dword [edi + 0x108], ecx
test byte [esi + 0x49e4], 0x20
je 0x1001415d
xor edx, edx
mov ecx, edi
call fcn.10016dd0
cmp byte [edi + 0xe5], 0
je 0x10014182
and byte [edi + 0x108], 0xf7
and byte [edi + 0x109], 0xf7
and byte [edi + 0x10a], 0xf7
and byte [edi + 0x10b], 0xf7
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x100165e0
mov eax, dword [esp + 0x1c]
lea ecx, [edi + 0x11c]
and eax, 0x3000000
mov byte [edi + 0xdf], 1
mov byte [edi + 0xe9], 0
mov dword [esp + 0x64], eax
mov al, byte [edi + 0x105]
mov dword [edi + 0x248], 0xff7fffff
mov dword [edi + 0x24c], 0xff7fffff
mov dword [edi + 0x250], 0x7f7fffff
mov byte [esp + 0x43], al
mov dword [edi + 0x254], 0x7f7fffff
mov eax, dword [ecx + 4]
mov dword [esp + 0x20], eax
cmp eax, 1
jge 0x1001421b
test eax, eax
je 0x10014200
cdq
sub eax, edx
mov edx, eax
sar edx, 1
add edx, dword [esp + 0x20]
jmp 0x10014205
mov edx, 8
mov eax, 1
cmp edx, eax
cmovg eax, edx
push eax
call fcn.1002bd30
lea ecx, [edi + 0x11c]
mov dword [ecx], 1
mov ecx, dword [edi + 0x2a4]
call fcn.10034510
test dword [esp + 0x1c], 0x20000000
mov dword [edi + 0x1cc], 0xffffffff
je 0x10014262
push 2
push ecx
mov ecx, dword [edi + 0x2a4]
add ecx, 0x78
call fcn.10037390
mov ecx, dword [edi + 0x2a4]
push 1
push ecx
add ecx, 0x78
call fcn.10037950
cmp byte [edi + 0x39c], 0
je 0x100142ae
mov ecx, dword [edi + 0x2a4]
push dword [edi + 0x394]
add ecx, 0xc
mov byte [edi + 0x39c], 0
call fcn.1002bf90
mov ecx, dword [edi + 0x2a4]
push dword [edi + 0x398]
add ecx, 0x18
call fcn.1002be00
mov dword [edi + 0x398], 0
mov dword [edi + 0x394], 0
mov eax, dword [edi + 0x30]
test eax, eax
je 0x100142ba
cmp dword [eax + 0x48], edi
je 0x100142dd
test byte [edi + 0x39d], 1
jne 0x100142dd
cmp dword [esi + 0x4cf0], 0
je 0x10014406
test dword [edi + 0xc], 0x80000
jne 0x10014406
cmp byte [esp + 0x1b], 0
jne 0x10014406
mov eax, dword [edi + 4]
mov ecx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x74]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10014315
test dl, dl
je 0x10014311
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10014315
add eax, 2
add ecx, 2
test dl, dl
jne 0x100142f5
xor eax, eax
jmp 0x1001431a
sbb eax, eax
or eax, 1
test eax, eax
je 0x10014406
mov ecx, dword [esp + 0x74]
mov edx, dword [edi + 0x9c]
mov dword [esp + 0x14], edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10014337
sub ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
cmp edx, eax
jae 0x100143e8
mov edx, dword [esp + 0x34]
test edx, edx
je 0x100143ca
mov ecx, dword [0x10103540]
test ecx, ecx
je 0x100143ca
mov eax, dword [ecx + 0x3fe0]
mov dword [esp + 0x14], eax
movsx eax, word [ecx + 0x5fa4]
mov esi, dword [esp + 0x14]
add eax, 0xbf5
cmp dword [ecx + eax*8], esi
mov esi, dword [esp + 0x28]
lea eax, [ecx + eax*8]
je 0x100143c0
movsx eax, word [ecx + 0x5fa4]
inc eax
mov dword [esp + 0x20], 6
cdq
idiv dword [esp + 0x20]
movzx eax, dx
mov edx, dword [esp + 0x14]
mov word [ecx + 0x5fa4], ax
cwde
add eax, 0xbf5
lea eax, [ecx + eax*8]
mov dword [eax], edx
xor edx, edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x34]
inc word [eax + 6]
inc dword [ecx + 0x5fa0]
push edx
call fcn.1006d8d7
mov ecx, dword [esp + 0x34]
add esp, 4
call fcn.1000d2d0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
push eax
push dword [esp + 0x78]
push dword [esp + 0x3c]
call fcn.10065810
mov dword [edi + 4], eax
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [edi + 0x9c], eax
lea eax, [edi + 0x64]
mov ecx, edi
lea edx, [edi + 0x5c]
push eax
call fcn.10011360
mov al, byte [edi + 0x104]
add esp, 4
test al, al
jle 0x10014429
dec al
mov byte [edi + 0x104], al
mov al, byte [edi + 0x105]
test al, al
jle 0x1001443b
dec al
mov byte [edi + 0x105], al
mov al, byte [edi + 0x106]
test al, al
jle 0x1001444d
dec al
mov byte [edi + 0x106], al
cmp byte [esp + 0x1b], 0
mov cl, byte [esp + 0x12]
mov dl, byte [esp + 0x18]
je 0x1001446b
test cl, cl
je 0x10014464
test dl, dl
jne 0x1001446b
mov byte [edi + 0x105], 1
cmp byte [esp + 0x1a], 0
je 0x100144c8
mov eax, dword [esp + 0x1c]
test eax, 0x6000000
je 0x100144c8
mov byte [edi + 0x105], 1
test al, 0x40
je 0x100144c8
test cl, cl
jne 0x1001449a
mov dword [edi + 0x54], 0
mov dword [edi + 0x4c], 0
test dl, dl
jne 0x100144ac
mov dword [edi + 0x58], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x60], 0
mov ecx, edi
call fcn.100216b0
mov ecx, dword [edi + 0x30]
mov edx, dword [0x10103540]
test ecx, ecx
je 0x100144e5
mov eax, dword [edx + 0x3fe0]
mov dword [ecx + 0x50], eax
movss xmm0, dword [0x100f8f34]
cmp dword [edx + 0x4af0], ecx
je 0x10014538
test ecx, ecx
je 0x10014528
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x4aec], eax
mov eax, dword [edx + 0x3920]
mov dword [edx + 0x4af0], ecx
test eax, eax
je 0x10014538
push ecx
call eax
mov edx, dword [0x10103540]
add esp, 4
movss xmm0, dword [0x100f8f34]
jmp 0x10014538
mov dword [edx + 0x4aec], 0x3f800000
mov dword [edx + 0x4af0], ecx
test dword [esi + 8], 0x8000
je 0x10014549
mov eax, dword [edi + 0x30]
movss xmm0, dword [eax + 0x28]
movss dword [edi + 0x29c], xmm0
mov dword [edx + 0x4064], edi
mov ecx, dword [edi + 0x1cc]
cmp ecx, 0xffffffff
je 0x1001456d
shl ecx, 9
add ecx, dword [edx + 0x4dd0]
jmp 0x1001456f
xor ecx, ecx
mov dword [edx + 0x4db4], ecx
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x100145a1
mulss xmm0, dword [eax + 0x298]
movss dword [edx + 0x3de0], xmm0
movss dword [edx + 0x3dcc], xmm0
test ecx, ecx
jne 0x100145c1
cmp dword [edi + 0x1c8], ecx
jne 0x100145c1
mov al, 1
jmp 0x100145c3
xor al, al
mov byte [edi + 0x188], al
mov al, byte [edi + 0x39d]
mov ecx, dword [edi + 0xc]
and al, 1
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x6b], al
jne 0x100145fe
test ecx, 0x1000000
je 0x100145fe
movss xmm1, dword [esi + 0x3984]
lea eax, [edi + 0x80]
mov dword [esp + 0x2c], eax
movss dword [eax], xmm1
jmp 0x1001463d
test ecx, 0x6000000
je 0x10014618
test ecx, 0x8000000
jne 0x10014618
movss xmm0, dword [esi + 0x398c]
jmp 0x10014620
movss xmm0, dword [esi + 0x3968]
movss dword [edi + 0x80], xmm0
lea esi, [edi + 0x80]
mov dword [esp + 0x2c], esi
movaps xmm1, xmm0
mov esi, dword [esp + 0x28]
test al, al
jne 0x10014674
mov eax, ecx
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x10014674
xorps xmm2, xmm2
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x10014674
test ecx, 0x400
je 0x1001466c
movss xmm0, dword [esi + 0x3960]
xorps xmm1, xmm1
jmp 0x10014684
xorps xmm0, xmm0
xorps xmm1, xmm1
jmp 0x10014684
movss xmm1, dword [esi + 0x395c]
movss xmm0, dword [esi + 0x3960]
movss dword [edi + 0x74], xmm1
movss dword [edi + 0x78], xmm0
movss xmm0, dword [edi + 0x74]
maxss xmm0, dword [esi + 0x39a0]
maxss xmm0, dword [esi + 0x4a64]
movss dword [edi + 0x18c], xmm0
mov eax, dword [esi + 0x4a68]
mov dword [edi + 0x190], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0x13], al
mov byte [esp + 0x70], al
test cl, 0x21
jne 0x10014889
cmp byte [esp + 0x6b], 0
jne 0x10014889
mov eax, dword [edi]
test cl, 1
je 0x100146e3
xorps xmm1, xmm1
jmp 0x1001471f
movss xmm0, dword [eax + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x1001470d
mulss xmm0, dword [eax + 0x298]
mov eax, dword [edi]
movss xmm1, dword [eax + 0x3994]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm3, dword [edi + 0x44]
movaps xmm2, xmm3
movss xmm5, dword [edi + 0x48]
addss xmm2, dword [edi + 0x54]
addss xmm1, dword [edi + 0x48]
cmp dword [esi + 0x4068], edi
jne 0x10014839
cmp dword [esi + 0x409c], 0
jne 0x10014839
cmp dword [esi + 0x40a0], 0
jne 0x10014839
mov eax, dword [edx + 0x4064]
movss xmm7, dword [edx + 0x39b8]
movss xmm4, dword [edx + 0xe08]
maxss xmm3, dword [eax + 0x248]
maxss xmm5, dword [eax + 0x24c]
minss xmm2, dword [eax + 0x250]
minss xmm1, dword [eax + 0x254]
movaps xmm0, xmm3
subss xmm0, xmm7
comiss xmm4, xmm0
jb 0x1001482f
movss xmm4, dword [edx + 0x39bc]
movaps xmm0, xmm5
movss xmm6, dword [edx + 0xe0c]
subss xmm0, xmm4
comiss xmm6, xmm0
jb 0x1001482f
movaps xmm0, xmm2
addss xmm0, xmm7
comiss xmm0, dword [edx + 0xe08]
jbe 0x1001482f
movaps xmm0, xmm1
addss xmm0, xmm4
comiss xmm0, xmm6
jbe 0x1001482f
mov eax, dword [edx + 0x4af4]
lea ecx, [edi + 0x80]
mov dword [esp + 0x2c], ecx
movss xmm6, dword [eax + 0xc]
movss xmm7, dword [eax + 8]
movaps xmm0, xmm6
addss xmm0, dword [eax + 0x14]
movaps xmm4, xmm7
addss xmm4, dword [eax + 0x10]
comiss xmm0, xmm5
jbe 0x10014829
comiss xmm1, xmm6
jbe 0x10014829
comiss xmm4, xmm3
jbe 0x10014829
comiss xmm2, xmm7
jbe 0x10014829
cmp word [esi + 0x383a], 2
jne 0x10014839
mov byte [edi + 0xe3], 1
mov dword [esp + 0x2c], ecx
jmp 0x10014839
lea eax, [edi + 0x80]
mov dword [esp + 0x2c], eax
cmp byte [edi + 0xe3], 0
je 0x10014890
mov cl, byte [edi + 0xe2]
test cl, cl
sete al
test cl, cl
mov byte [edi + 0xe2], al
mov ecx, 1
mov eax, dword [esp + 0x70]
movzx eax, al
cmovne eax, ecx
test dword [esp + 0x1c], 0x100
mov dword [esp + 0x70], eax
jne 0x10014890
xorps xmm1, xmm1
comiss xmm1, dword [edx + 0x5e98]
jb 0x10014890
mov eax, dword [edx + 0x1c]
mov dword [edx + 0x5e98], eax
jmp 0x10014890
mov byte [edi + 0xe2], 0
movss xmm0, dword [edi + 0xd4]
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x2c]
mov edx, dword [edi]
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [edi + 0xd8]
mov dword [esp + 0x30], eax
mov byte [edi + 0xe3], 0
movss dword [esp + 0x38], xmm0
mov dword [edi + 0x84], 0
mov dword [edi + 0x8c], 0
test cl, 1
je 0x100148de
xorps xmm2, xmm2
jmp 0x1001491b
movss xmm0, dword [edx + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov ecx, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test ecx, ecx
je 0x10014908
mulss xmm0, dword [ecx + 0x298]
movss xmm2, dword [edx + 0x3994]
mov ecx, dword [edi + 0xc]
addss xmm2, xmm2
addss xmm2, xmm0
test ecx, 0x400
je 0x10014967
movss xmm0, dword [edx + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x1001494d
mulss xmm0, dword [eax + 0x298]
movss xmm1, dword [edx + 0x3994]
addss xmm0, dword [edi + 0x190]
addss xmm1, xmm1
addss xmm1, xmm0
jmp 0x1001496a
xorps xmm1, xmm1
addss xmm1, xmm2
mov dword [edi + 0x90], 0
lea eax, [edi + 0x64]
mov dword [edi + 0xd4], 0
push eax
mov edx, edi
mov dword [edi + 0xd8], 0
lea ecx, [esp + 0x15c]
movss dword [edi + 0x88], xmm1
call fcn.10011490
add esp, 4
lea eax, [edi + 0xe2]
test byte [esp + 0x1c], 0x40
je 0x100149fc
cmp byte [eax], 0
mov dword [esp + 0x50], eax
jne 0x100149fc
cmp byte [esp + 0x12], 0
jne 0x100149d9
movss xmm0, dword [esp + 0x158]
movss dword [edi + 0x54], xmm0
mov byte [esp + 0x13], 1
cmp byte [esp + 0x18], 0
jne 0x10014ac5
movss xmm0, dword [esp + 0x15c]
movss dword [edi + 0x58], xmm0
mov byte [esp + 0x70], 1
jmp 0x10014ac5
mov ecx, eax
mov al, byte [edi + 0xfc]
test al, al
jg 0x10014a19
cmp byte [edi + 0xfd], 0
mov dword [esp + 0x50], ecx
jle 0x10014ac5
cmp byte [esp + 0x12], 0
jne 0x10014a50
test al, al
jle 0x10014a50
cmp byte [edi + 0xfe], 0
je 0x10014a3d
movss xmm0, dword [edi + 0x54]
maxss xmm0, dword [esp + 0x158]
jmp 0x10014a46
movss xmm0, dword [esp + 0x158]
movss dword [edi + 0x54], xmm0
mov byte [esp + 0x13], 1
cmp byte [esp + 0x18], 0
jne 0x10014a8c
cmp byte [edi + 0xfd], 0
jle 0x10014a8c
cmp byte [edi + 0xfe], 0
je 0x10014a79
movss xmm0, dword [edi + 0x58]
maxss xmm0, dword [esp + 0x15c]
jmp 0x10014a82
movss xmm0, dword [esp + 0x15c]
movss dword [edi + 0x58], xmm0
mov byte [esp + 0x70], 1
cmp byte [ecx], 0
mov dword [esp + 0x50], ecx
jne 0x10014ac5
test dword [edi + 0xc], 0x100
mov edx, dword [0x10103540]
mov dword [esp + 0x50], ecx
jne 0x10014ac5
xorps xmm1, xmm1
mov dword [esp + 0x50], ecx
comiss xmm1, dword [edx + 0x5e98]
jb 0x10014ac5
mov eax, dword [edx + 0x1c]
mov dword [edx + 0x5e98], eax
mov dword [esp + 0x50], ecx
lea eax, [edi + 0x54]
mov edx, edi
push eax
lea ecx, [esp + 0x94]
call fcn.10011120
mov ecx, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0x1c]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 4]
mov eax, edx
and eax, 0x1000000
movss dword [edi + 0x54], xmm2
cmp byte [ecx], 0
movss dword [edi + 0x58], xmm0
mov dword [esp + 0x34], eax
je 0x10014b7a
test eax, eax
jne 0x10014b7a
test byte [edi + 0xc], 1
mov ecx, dword [edi]
je 0x10014b16
xorps xmm1, xmm1
jmp 0x10014b50
movss xmm0, dword [ecx + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x10014b40
mulss xmm0, dword [eax + 0x298]
movss xmm1, dword [ecx + 0x3994]
addss xmm1, xmm1
addss xmm1, xmm0
addss xmm2, dword [edi + 0x44]
addss xmm1, dword [edi + 0x48]
mov dword [esp + 0x34], 0
subss xmm2, dword [edi + 0x44]
subss xmm1, dword [edi + 0x48]
movss dword [esp + 0x5c], xmm2
movss dword [esp + 0x60], xmm1
jmp 0x10014b88
mov eax, dword [edi + 0x54]
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x5c]
mov eax, edi
add eax, 0x44
cmp byte [esp + 0x1a], 0
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], ecx
je 0x10014bf2
mov eax, edx
mov dword [edi + 0x100], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x10014bf2
cmp byte [esp + 0x19], 0
jne 0x10014bf2
mov eax, dword [esi + 0x4ac4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x4acc]
movss xmm0, dword [eax + ecx*8 - 0x10]
movss xmm1, dword [eax + ecx*8 - 0xc]
mov eax, dword [esp + 0x24]
movss dword [eax], xmm0
movss dword [eax + 4], xmm1
cmp dword [esp + 0x34], 0
je 0x10014c9b
mov ecx, dword [esp + 0x48]
add ecx, 0x1b8
mov dword [esp + 0x14], ecx
mov ax, word [ecx]
mov word [edi + 0xf0], ax
mov eax, dword [ecx + 4]
cmp dword [ecx], eax
jne 0x10014c4d
mov edx, dword [ecx]
inc edx
mov dword [esp + 0x20], edx
test eax, eax
je 0x10014c35
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10014c3a
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.1002bd30
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [ecx]
mov eax, dword [eax + 0x1c0]
mov dword [eax + ecx*4], edi
mov ecx, dword [esp + 0x48]
mov al, byte [esp + 0x19]
inc dword [ecx + 0x1b8]
test edx, 0x4000000
jne 0x10014c9f
test al, al
jne 0x10014c9f
cmp dword [esp + 0x64], 0x3000000
je 0x10014c9f
mov esi, dword [esp + 0x24]
mov eax, dword [ecx + 0x128]
mov ecx, dword [ecx + 0x12c]
mov dword [esi], eax
mov eax, esi
mov esi, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov al, byte [esp + 0x19]
movss xmm1, dword [edi + 0x10c]
ucomiss xmm1, dword [0x100f8fec]
lahf
test ah, 0x44
jnp 0x10014d05
cmp byte [edi + 0x105], 0
jne 0x10014d05
movss xmm0, dword [edi + 0x114]
lea edx, [esp + 0x5c]
mulss xmm0, dword [edi + 0x4c]
mov ecx, edi
push 0
subss xmm1, xmm0
movss xmm0, dword [edi + 0x110]
movss dword [esp + 0x60], xmm1
movss xmm1, dword [edi + 0x118]
mulss xmm1, dword [edi + 0x50]
subss xmm0, xmm1
movss dword [esp + 0x64], xmm0
call fcn.10017250
add esp, 4
jmp 0x10014d58
test edx, 0x10000000
jne 0x10014d1f
test edx, 0x4000000
je 0x10014d42
test al, al
jne 0x10014d42
cmp byte [esp + 0x43], al
jle 0x10014d42
mov edx, edi
lea ecx, [esp + 0x78]
call fcn.1001b080
mov ecx, dword [esp + 0x24]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm1
jmp 0x10014d5c
test edx, 0x2000000
je 0x10014d58
test al, al
jne 0x10014d58
cmp dword [esp + 0x64], 0x3000000
jne 0x10014d1f
mov ecx, dword [esp + 0x24]
cmp dword [edi + 0x40], 0
jl 0x10014f00
cmp byte [edi + 0xde], 0
jne 0x10014f00
mov eax, dword [edi + 0x30]
test dword [eax + 4], 0x1000
jne 0x10014f00
movss xmm1, dword [eax + 8]
movss xmm6, dword [eax + 0xc]
movaps xmm3, xmm1
movss xmm0, dword [ecx]
movaps xmm5, xmm6
comiss xmm0, xmm1
movss xmm7, dword [edi + 0x48]
movaps xmm2, xmm0
addss xmm3, dword [eax + 0x10]
addss xmm5, dword [eax + 0x14]
addss xmm2, dword [edi + 0x4c]
lea eax, [edi + 0x4c]
movaps xmm4, xmm7
addss xmm4, dword [edi + 0x50]
jb 0x10014dd1
comiss xmm7, xmm6
jb 0x10014dd1
comiss xmm3, xmm2
jb 0x10014dd1
comiss xmm5, xmm4
jae 0x10014f00
mov edx, dword [edi + 8]
push 0x20
push eax
push ecx
mov ecx, edi
call fcn.10021330
mov edx, dword [0x10103540]
mov ecx, eax
add esp, 0xc
mov dword [edi + 0x30], ecx
test ecx, ecx
je 0x10014dfa
mov eax, dword [edx + 0x3fe0]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
cmp dword [edx + 0x4af0], ecx
je 0x10014e5d
test ecx, ecx
je 0x10014e49
mov eax, dword [ecx + 0x28]
mov esi, dword [esp + 0x30]
mov dword [edx + 0x4aec], eax
mov eax, dword [edx + 0x3920]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x28]
mov dword [edx + 0x4af0], ecx
test eax, eax
je 0x10014e5d
push ecx
call eax
mov eax, dword [esp + 0x34]
add esp, 4
mov edx, dword [0x10103540]
jmp 0x10014e59
mov dword [edx + 0x4aec], 0x3f800000
mov dword [edx + 0x4af0], ecx
mov dword [esp + 0x2c], eax
test dword [esi + 8], 0x8000
je 0x10014e70
mov eax, dword [edi + 0x30]
movss xmm0, dword [eax + 0x28]
jmp 0x10014e78
movss xmm0, dword [0x100f8f34]
movss dword [edi + 0x29c], xmm0
mov dword [edx + 0x4064], edi
mov ecx, dword [edi + 0x1cc]
cmp ecx, 0xffffffff
je 0x10014e9c
shl ecx, 9
add ecx, dword [edx + 0x4dd0]
jmp 0x10014e9e
xor ecx, ecx
mov dword [edx + 0x4db4], ecx
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x10014ed0
mulss xmm0, dword [eax + 0x298]
movss dword [edx + 0x3de0], xmm0
movss dword [edx + 0x3dcc], xmm0
test ecx, ecx
jne 0x10014ef6
cmp dword [edi + 0x1c8], ecx
jne 0x10014ef6
mov al, 1
mov byte [edi + 0x188], al
jmp 0x10014f06
xor al, al
mov byte [edi + 0x188], al
jmp 0x10014f06
mov edx, dword [0x10103540]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov al, byte [edi + 0xde]
mov byte [esp + 0x12], al
test al, al
je 0x10014f37
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.10021c60
mov al, byte [edi + 0xde]
mov edx, dword [0x10103540]
mov byte [esp + 0x12], al
cmp byte [esp + 0x19], 0
mov ecx, dword [edi + 0x30]
movss xmm3, dword [esi + 0x3a1c]
maxss xmm3, dword [esi + 0x3a24]
movss xmm2, dword [esi + 0x3a18]
maxss xmm2, dword [esi + 0x3a20]
movss xmm6, dword [ecx + 8]
movss xmm7, dword [ecx + 0xc]
movaps xmm4, xmm6
addss xmm4, dword [ecx + 0x10]
movss dword [esp + 0x20], xmm3
movaps xmm5, xmm7
movss xmm3, dword [ecx + 0x18]
addss xmm3, dword [ecx + 0x20]
addss xmm5, dword [ecx + 0x14]
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x140], xmm6
movss dword [esp + 0x144], xmm7
subss xmm3, xmm2
movss dword [esp + 0x148], xmm4
movss xmm2, dword [ecx + 0x1c]
addss xmm2, dword [ecx + 0x24]
movss dword [esp + 0x14c], xmm5
movss dword [esp + 0x30], xmm3
movss xmm3, dword [esp + 0x20]
movss xmm0, dword [esp + 0x30]
subss xmm2, xmm3
addss xmm3, dword [ecx + 0x1c]
movss dword [esp + 0x6c], xmm2
movss xmm2, dword [esp + 0x44]
addss xmm2, dword [ecx + 0x18]
movss xmm1, dword [esp + 0x6c]
mov cl, al
movss dword [esp + 0x164], xmm3
movss dword [esp + 0x168], xmm0
movss dword [esp + 0x16c], xmm1
movss dword [esp + 0x160], xmm2
jne 0x100151c0
cmp dword [esp + 0x34], 0
jne 0x100151c0
test al, al
jne 0x100150b5
subss xmm4, xmm6
xorps xmm0, xmm0
comiss xmm4, xmm0
jbe 0x100150b5
subss xmm5, xmm7
comiss xmm5, xmm0
jbe 0x100150b5
movss xmm0, dword [edi + 0x50]
cmp byte [edx + 0x53], al
je 0x10015074
test byte [edi + 0xc], 1
je 0x10015060
cmp dword [edi + 0x3bc], 0
je 0x10015074
movss xmm0, dword [edx + 0x3994]
addss xmm0, xmm0
addss xmm0, dword [edx + 0x3dcc]
mov edx, dword [esp + 0x24]
subss xmm3, xmm0
subss xmm2, dword [edi + 0x4c]
movss xmm0, dword [edx + 4]
comiss xmm3, xmm0
ja 0x10015092
movaps xmm3, xmm1
minss xmm3, xmm0
movss xmm0, dword [edx]
comiss xmm2, xmm0
ja 0x100150a5
movss xmm2, dword [esp + 0x30]
minss xmm2, xmm0
movss dword [edx], xmm2
xor cl, cl
movss dword [edx + 4], xmm3
jmp 0x100151c4
mov cl, al
test al, al
je 0x100151c0
cmp dword [esi + 0x393c], 0
jle 0x100151c0
mov esi, dword [edi + 0x30]
movsx eax, word [esi + 0x6e]
mov esi, dword [esp + 0x28]
test eax, eax
js 0x100150f9
cmp eax, dword [edx + 0x393c]
jge 0x100150f5
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x3944]
lea eax, [eax + ecx*8]
mov cl, byte [esp + 0x12]
jmp 0x100150ff
mov cl, byte [esp + 0x12]
lea eax, [edx + 0x4b00]
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [eax + 0x10]
movss xmm1, dword [esp + 0x20]
addss xmm1, dword [eax + 0x14]
movss xmm2, dword [edi + 0x50]
movss dword [esp + 0x160], xmm0
movss dword [esp + 0x164], xmm1
movss xmm4, dword [eax + 0x18]
movss xmm3, dword [eax + 0x1c]
addss xmm4, dword [eax + 0x10]
addss xmm3, dword [eax + 0x14]
subss xmm4, dword [esp + 0x44]
subss xmm3, dword [esp + 0x20]
movss dword [esp + 0x168], xmm4
movss dword [esp + 0x16c], xmm3
cmp byte [edx + 0x53], 0
je 0x10015187
test byte [edi + 0xc], 1
je 0x10015173
cmp dword [edi + 0x3bc], 0
je 0x10015187
movss xmm2, dword [edx + 0x3994]
addss xmm2, xmm2
addss xmm2, dword [edx + 0x3dcc]
mov edx, dword [esp + 0x24]
subss xmm1, xmm2
subss xmm0, dword [edi + 0x4c]
movss xmm2, dword [edx + 4]
comiss xmm1, xmm2
ja 0x100151a5
movaps xmm1, xmm3
minss xmm1, xmm2
movss xmm2, dword [edx]
comiss xmm0, xmm2
ja 0x100151b5
movaps xmm0, xmm4
minss xmm0, xmm2
movss dword [edx], xmm0
movss dword [edx + 4], xmm1
jmp 0x100151c4
mov edx, dword [esp + 0x24]
cvttss2si eax, dword [edx]
test cl, cl
mov cl, byte [edi + 0x39d]
movd xmm1, eax
cvttss2si eax, dword [edx + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx], xmm1
movss dword [edx + 4], xmm0
jne 0x10015229
test cl, 1
jne 0x10015229
mov edx, dword [esp + 0x34]
test edx, edx
je 0x10015205
movss xmm0, dword [esi + 0x3980]
jmp 0x10015230
mov eax, dword [esp + 0x1c]
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1001521f
movss xmm0, dword [esi + 0x3988]
jmp 0x10015230
movss xmm0, dword [esi + 0x3964]
jmp 0x10015230
mov edx, dword [esp + 0x34]
xorps xmm0, xmm0
cmp byte [esp + 0x1a], 0
movss dword [edi + 0x7c], xmm0
mov byte [esp + 0x34], 0
je 0x1001527b
mov eax, dword [esp + 0x1c]
test eax, 0x1000
jne 0x1001527b
test eax, 0x4000000
je 0x1001525a
mov byte [esp + 0x34], 1
jmp 0x1001527b
test cl, 1
jne 0x10015263
test edx, edx
jne 0x1001527b
test eax, 0x2000000
mov edx, 1
mov eax, dword [esp + 0x34]
movzx eax, al
cmove eax, edx
mov dword [esp + 0x34], eax
cmp dword [edi + 0x3bc], 0
jne 0x1001528d
test cl, 1
je 0x1001528d
xor al, al
jmp 0x1001528f
mov al, 1
movss xmm2, dword [esi + 0x3dcc]
xorps xmm0, xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmm1, xmm2
movss xmm0, dword [edi + 0x7c]
xor ecx, ecx
addss xmm0, dword [0x100f8f34]
mulss xmm2, dword [0x100f8ed8]
cmp byte [esi + 0x52], cl
mulss xmm1, dword [0x100f8f38]
setne cl
mov byte [esp + 0x44], al
addss xmm2, xmm0
mov dword [esp + 0x13c], 0xffffffff
inc ecx
mov dword [esp + 0x5c], ecx
maxss xmm1, xmm2
cvttss2si esi, xmm1
test al, al
je 0x1001532f
mov eax, dword [esp + 0x50]
cmp byte [eax], 0
jne 0x1001532f
lea eax, [esp + 0x160]
push eax
lea eax, [esp + 0x174]
push eax
push ecx
lea eax, [esp + 0x148]
mov ecx, edi
push eax
lea edx, [esp + 0x168]
call fcn.100116e0
add esp, 0x10
test al, al
je 0x1001532f
mov byte [esp + 0x70], 1
mov byte [esp + 0x13], 1
cmp byte [edi + 0xde], 0
mov al, byte [esp + 0x13c]
mov byte [edi + 0xea], al
je 0x10015419
mov edx, dword [edi + 0x30]
cmp byte [edx + 0x45], 0
jne 0x10015361
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [edi + 0x30]
cmp byte [edx + 0x46], 0
jne 0x10015376
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x50]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [edi + 0x30]
movss xmm0, dword [eax + 0xc]
addss xmm0, dword [eax + 0xe8]
movss xmm2, dword [eax + 0xe4]
movaps xmm1, xmm2
addss xmm1, dword [eax + 8]
movss dword [eax + 0x1c], xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, xmm2
xorps xmm2, xmm2
movss dword [eax + 0x18], xmm1
xorps xmm1, xmm1
addss xmm0, dword [eax + 0xec]
maxss xmm2, xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0xe8]
addss xmm0, dword [eax + 0xf0]
movss dword [eax + 0x20], xmm2
maxss xmm1, xmm0
movss dword [eax + 0x24], xmm1
mov eax, dword [edi + 0x30]
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
movss dword [esp + 0x140], xmm0
addss xmm0, dword [eax + 0x10]
movss dword [esp + 0x144], xmm1
addss xmm1, dword [eax + 0x14]
movss dword [esp + 0x148], xmm0
movss dword [esp + 0x14c], xmm1
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x50]
mov dword [edi + 0x38], ecx
cmp byte [eax], 0
jne 0x100155d3
cmp byte [esp + 0x1b], 0
lea eax, [esp + 0x38]
movss xmm6, dword [edi + 0x90]
movss xmm2, dword [edi + 0x210]
movaps xmm0, xmm6
movss xmm3, dword [edi + 0x214]
addss xmm0, dword [edi + 0x88]
subss xmm2, dword [edi + 0x208]
subss xmm3, dword [edi + 0x20c]
movss xmm4, dword [edi + 0x58]
movss xmm5, dword [edi + 0x54]
subss xmm4, xmm0
addss xmm2, dword [esp + 0x4c]
addss xmm3, dword [esp + 0x38]
je 0x1001549f
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jmp 0x100154c7
movss xmm0, dword [edi + 0x74]
movss xmm1, dword [edi + 0x78]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [edi + 0x5c]
addss xmm1, dword [edi + 0x60]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm1
cmp byte [esp + 0x13], 0
movss xmm7, dword [eax]
movss xmm1, dword [eax + 4]
jne 0x100154da
movaps xmm5, xmm2
cmp byte [esp + 0x70], 0
jne 0x100154e4
movaps xmm4, xmm3
mov edx, dword [esp + 0x1c]
test edx, 0x4000
jne 0x100154fe
comiss xmm1, xmm4
jbe 0x100154fa
test dl, 8
je 0x100154fe
xor cl, cl
jmp 0x10015500
mov cl, 1
mov eax, dword [esp + 0x28]
add eax, 0x39c8
mov byte [edi + 0xdd], cl
test edx, 0x8000
jne 0x1001555b
mov dword [esp + 0x30], eax
test cl, cl
je 0x10015525
movss xmm0, dword [eax]
jmp 0x10015528
xorps xmm0, xmm0
subss xmm5, xmm0
comiss xmm7, xmm5
jbe 0x1001553f
mov eax, edx
and eax, 0x808
cmp eax, 0x800
je 0x10015557
mov eax, dword [esp + 0x14]
xorps xmm1, xmm1
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov byte [edi + 0xdc], 0
jmp 0x10015598
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1c]
mov byte [edi + 0xdc], 1
test cl, cl
jne 0x10015594
comiss xmm1, xmm4
jbe 0x10015580
test dl, 8
jne 0x10015580
mov cl, 1
jmp 0x10015582
xor cl, cl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1c]
mov byte [edi + 0xdd], cl
movss xmm1, dword [eax]
test cl, cl
je 0x100155a2
movss xmm0, dword [eax]
jmp 0x100155a5
xorps xmm0, xmm0
movss dword [edi + 0xd4], xmm0
addss xmm6, xmm1
addss xmm0, dword [edi + 0x8c]
movss dword [edi + 0xd8], xmm1
movss dword [edi + 0x90], xmm6
movss dword [edi + 0x8c], xmm0
jmp 0x100155d7
mov edx, dword [esp + 0x1c]
mov eax, edx
and eax, 0x5000000
mov dword [esp + 0x30], eax
cmp eax, 0x1000000
jne 0x100155fe
cmp dword [esp + 0x64], 0x3000000
je 0x100155fe
mov eax, dword [esp + 0x48]
add eax, 0x248
jmp 0x10015605
lea eax, [esp + 0x140]
movups xmm3, xmmword [eax]
mov eax, dword [esp + 0x24]
movss xmm1, dword [edi + 0x48]
mov ecx, dword [edi]
movaps xmm7, xmm1
addss xmm7, dword [edi + 0x50]
movss xmm5, dword [eax]
mov eax, dword [edi + 0xc]
movaps xmm6, xmm5
movaps xmmword [esp + 0x90], xmm3
movss dword [esp + 0x38], xmm1
addss xmm6, dword [edi + 0x4c]
and eax, 1
je 0x10015642
xorps xmm4, xmm4
jmp 0x1001567e
movss xmm0, dword [ecx + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov ecx, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test ecx, ecx
je 0x1001566c
mulss xmm0, dword [ecx + 0x298]
mov ecx, dword [edi]
movss xmm4, dword [ecx + 0x3994]
addss xmm4, xmm4
addss xmm4, xmm0
mov ecx, dword [esp + 0x24]
addss xmm1, xmm4
movaps xmm2, xmm5
movss dword [esp + 0xc0], xmm5
addss xmm2, dword [edi + 0x54]
movss xmm0, dword [ecx + 4]
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0xc8], xmm2
movss dword [edi + 0x1f8], xmm5
movss xmm0, dword [esp + 0x38]
movss dword [edi + 0x1fc], xmm0
movss dword [edi + 0x200], xmm6
movss dword [edi + 0x204], xmm7
test byte [edi + 0x39d], 1
je 0x1001573b
mov ecx, dword [edi]
test eax, eax
je 0x100156f1
xorps xmm0, xmm0
jmp 0x1001572b
movss xmm1, dword [ecx + 0x3dd0]
mulss xmm1, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm1, dword [edi + 0x29c]
test eax, eax
je 0x1001571b
mulss xmm1, dword [eax + 0x298]
movss xmm0, dword [ecx + 0x3994]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm0, dword [edi + 0x1fc]
movss dword [edi + 0x1fc], xmm0
movss xmm0, dword [edi + 0x1fc]
movaps xmm2, xmm3
movss xmm1, dword [edi + 0x1f8]
mov eax, dword [esp + 0x24]
maxss xmm1, xmm3
shufps xmm2, xmm3, 0x55
maxss xmm0, xmm2
mov ecx, dword [esp + 0x28]
movups xmmword [esp + 0xb0], xmm2
movss dword [edi + 0x1f8], xmm1
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
movss dword [edi + 0x1fc], xmm0
movaps xmm0, xmm3
movss xmm1, dword [edi + 0x200]
shufps xmm0, xmm3, 0xaa
minss xmm1, xmm0
movups xmmword [esp + 0xa0], xmm0
movss xmm0, dword [edi + 0x204]
minss xmm0, xmm2
movss dword [edi + 0x200], xmm1
movups xmmword [esp + 0x80], xmm2
movss dword [edi + 0x204], xmm0
movss xmm1, dword [eax]
mov eax, edx
movss xmm2, dword [edi + 0x48]
movaps xmm4, xmm1
addss xmm1, dword [edi + 0x4c]
addss xmm4, dword [edi + 0x84]
movaps xmm5, xmm2
and eax, 0x401
addss xmm2, dword [edi + 0x50]
addss xmm5, dword [edi + 0x88]
subss xmm1, dword [edi + 0x8c]
movss dword [edi + 0x208], xmm4
subss xmm2, dword [edi + 0x90]
movss dword [edi + 0x20c], xmm5
movss dword [edi + 0x210], xmm1
movss dword [edi + 0x214], xmm2
cmp eax, 1
jne 0x1001582f
mov eax, dword [esp + 0x2c]
movss xmm0, dword [eax]
jmp 0x10015837
movss xmm0, dword [ecx + 0x399c]
movss xmm6, dword [0x100f8ef0]
movss dword [esp + 0x20], xmm0
addss xmm4, xmm6
movss xmm0, dword [edi + 0x74]
mulss xmm0, xmm6
cvttss2si eax, xmm0
movd xmm7, eax
mov eax, dword [esp + 0x2c]
cvtdq2ps xmm7, xmm7
maxss xmm7, dword [eax]
addss xmm4, xmm7
comiss xmm4, dword [0x100f8e94]
cvttss2si eax, xmm4
mov dword [esp + 0x38], eax
jae 0x10015895
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x10015891
cvttss2si eax, xmm4
dec eax
jmp 0x10015895
mov eax, dword [esp + 0x38]
addss xmm5, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm5, dword [esp + 0x20]
movss dword [edi + 0x218], xmm0
comiss xmm5, dword [0x100f8e94]
cvttss2si eax, xmm5
mov dword [esp + 0x38], eax
jae 0x100158da
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x100158d6
cvttss2si eax, xmm5
dec eax
jmp 0x100158da
mov eax, dword [esp + 0x38]
addss xmm1, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm7
xorps xmm7, xmm7
movss dword [edi + 0x21c], xmm0
comiss xmm1, xmm7
cvttss2si eax, xmm1
mov dword [esp + 0x38], eax
jae 0x1001591c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10015918
cvttss2si eax, xmm1
dec eax
jmp 0x1001591c
mov eax, dword [esp + 0x38]
movd xmm0, eax
addss xmm2, xmm6
mov eax, dword [esp + 0x2c]
cvtdq2ps xmm0, xmm0
subss xmm2, dword [eax]
movss dword [edi + 0x220], xmm0
comiss xmm2, xmm7
cvttss2si eax, xmm2
mov dword [esp + 0x38], eax
jae 0x1001595f
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jnp 0x1001595b
cvttss2si eax, xmm2
dec eax
jmp 0x1001595f
mov eax, dword [esp + 0x38]
movups xmm2, xmmword [esp + 0xb0]
movups xmm6, xmmword [esp + 0x80]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x224], xmm0
movss xmm0, dword [edi + 0x21c]
comiss xmm2, xmm0
jbe 0x10015990
movaps xmm1, xmm2
jmp 0x10015997
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm4, dword [edi + 0x218]
comiss xmm3, xmm4
movups xmm5, xmmword [esp + 0xa0]
jbe 0x100159b1
movaps xmm0, xmm3
jmp 0x100159b8
movaps xmm0, xmm5
minss xmm0, xmm4
movss dword [edi + 0x218], xmm0
movss dword [edi + 0x21c], xmm1
movss xmm0, dword [edi + 0x224]
comiss xmm2, xmm0
jbe 0x100159da
movaps xmm1, xmm2
jmp 0x100159e1
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm2, dword [edi + 0x220]
comiss xmm3, xmm2
jbe 0x100159f3
movaps xmm0, xmm3
jmp 0x100159fa
movaps xmm0, xmm5
minss xmm0, xmm2
movss dword [edi + 0x220], xmm0
movss dword [edi + 0x224], xmm1
movss xmm0, dword [edi + 0x4c]
comiss xmm0, xmm7
jbe 0x10015a26
test edx, 0x2000040
jne 0x10015a26
mulss xmm0, dword [0x100f8efc]
jmp 0x10015a36
movss xmm0, dword [ecx + 0x3dcc]
mulss xmm0, dword [0x100f8f9c]
cvttss2si eax, xmm0
mov edx, edi
lea ecx, [esp + 0x78]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x27c], xmm0
movss xmm1, dword [edi + 0x74]
movss xmm0, dword [edi + 0x210]
addss xmm1, xmm1
subss xmm0, dword [edi + 0x208]
addss xmm1, dword [edi + 0x5c]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss xmm1, dword [edi + 0x78]
addss xmm1, xmm1
movss dword [edi + 0xb4], xmm0
movss xmm0, dword [edi + 0x214]
subss xmm0, dword [edi + 0x20c]
addss xmm1, dword [edi + 0x60]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [edi + 0xb8], xmm0
call fcn.10019d00
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [esp + 0x28]
movss dword [edi + 0xac], xmm0
movss dword [edi + 0xb0], xmm1
mov dword [edi + 0xbc], 0x7f7fffff
mov dword [edi + 0xc0], 0x7f7fffff
mov dword [edi + 0x98], 0
mov dword [edi + 0x94], 0
mov eax, dword [eax + 0x3dc8]
mov ecx, dword [edi + 0x2a4]
mov dword [esp + 0x4c], ecx
add ecx, 0x48
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
cmp edx, eax
jne 0x10015b50
inc edx
mov dword [esp + 0x38], edx
test eax, eax
je 0x10015b3c
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10015b41
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.1002bd30
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
inc dword [ecx]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x70], eax
call fcn.10034d80
mov ecx, dword [0x10103540]
movaps xmm0, xmmword [esp + 0x90]
comiss xmm0, dword [esp + 0xa0]
mov eax, dword [ecx + 0x4064]
mov byte [eax + 0xe1], 1
mov eax, dword [ecx + 0x4064]
mov dword [esp + 0x20], eax
movaps xmmword [esp + 0x140], xmm0
mov eax, dword [eax + 0x2a4]
mov dword [esp + 0x6c], eax
jb 0x10015bcc
movss dword [esp + 0x148], xmm0
movaps xmm0, xmmword [esp + 0x140]
movaps xmmword [esp + 0x90], xmm0
movups xmm0, xmmword [esp + 0xb0]
comiss xmm0, dword [esp + 0x80]
jb 0x10015bf7
movss dword [esp + 0x14c], xmm0
movaps xmm0, xmmword [esp + 0x140]
movaps xmmword [esp + 0x90], xmm0
mov edx, dword [eax + 0x3c]
lea ecx, [eax + 0x3c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x4c], ecx
cmp edx, eax
jne 0x10015c33
inc edx
mov dword [esp + 0x38], edx
test eax, eax
je 0x10015c1f
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x10015c24
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.1002c170
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
movaps xmm0, xmmword [esp + 0x90]
shl eax, 4
add eax, dword [ecx + 8]
movups xmmword [eax], xmm0
inc dword [ecx]
mov ecx, dword [esp + 0x6c]
movups xmmword [ecx + 0x60], xmm0
call fcn.10034ce0
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x2a4]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [edx + 0x248], eax
movss dword [edx + 0x24c], xmm0
movss dword [edx + 0x250], xmm1
movss dword [edx + 0x254], xmm2
mov al, byte [edi + 0x39d]
and al, 5
cmp al, 1
je 0x10015e03
cmp dword [esp + 0x30], 0x1000000
mov byte [esp + 0x12], 0
jne 0x10015d73
cmp dword [esp + 0x64], 0x3000000
je 0x10015d73
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x1b8]
cmp ecx, 2
jl 0x10015d37
mov eax, dword [eax + 0x1c0]
mov eax, dword [eax + ecx*4 - 8]
test eax, eax
je 0x10015d37
movss xmm5, dword [eax + 0x48]
mov ecx, dword [esp + 0x24]
movaps xmm0, xmm5
addss xmm0, dword [eax + 0x50]
movss xmm7, dword [eax + 0x44]
movss xmm2, dword [edi + 0x48]
movaps xmm3, xmm7
movss xmm6, dword [ecx]
addss xmm3, dword [eax + 0x4c]
comiss xmm0, dword [edi + 0x48]
addss xmm2, dword [edi + 0x50]
movaps xmm4, xmm6
addss xmm4, dword [edi + 0x4c]
jbe 0x10015d37
comiss xmm2, xmm5
jbe 0x10015d37
comiss xmm3, xmm6
jbe 0x10015d37
comiss xmm4, xmm7
mov byte [esp + 0x13], 1
ja 0x10015d3c
mov byte [esp + 0x13], 0
mov edx, dword [edi + 0x2a4]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x10015d73
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x2a4]
cmp dword [eax + 0x18], 0
je 0x10015d73
cmp byte [esp + 0x13], 0
jne 0x10015d73
mov byte [esp + 0x12], 1
mov dword [edi + 0x2a4], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x4ce8]
test ecx, ecx
jne 0x10015d87
mov ecx, dword [eax + 0x4b34]
cmp byte [esp + 0x34], 0
jne 0x10015db9
test ecx, ecx
je 0x10015db2
mov eax, dword [edi + 0x34c]
cmp eax, dword [ecx + 0x34c]
je 0x10015db9
mov eax, dword [edi + 0x3b8]
test eax, eax
je 0x10015db2
cmp eax, dword [ecx + 0x3b8]
je 0x10015db9
mov byte [esp + 0x20], 0
jmp 0x10015dbe
mov byte [esp + 0x20], 1
movd xmm0, esi
lea eax, [esp + 0x170]
push ecx
cvtdq2ps xmm0, xmm0
lea edx, [esp + 0xc4]
mov ecx, edi
movss dword [esp], xmm0
push eax
push dword [esp + 0x64]
push dword [esp + 0x50]
push dword [esp + 0x30]
call fcn.10012800
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x10015e03
lea eax, [edi + 0x2a8]
mov dword [edi + 0x2a4], eax
mov ecx, dword [esp + 0x1c]
xorps xmm2, xmm2
movss xmm4, dword [edi + 0x6c]
mov edx, ecx
shr edx, 3
not dl
and dl, 1
ucomiss xmm4, xmm2
lahf
test ah, 0x44
jnp 0x10015e27
movaps xmm7, xmm4
jmp 0x10015e69
movss xmm0, dword [edi + 0x74]
mov eax, ecx
movss xmm1, dword [edi + 0x4c]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [edi + 0x8c]
addss xmm0, dword [edi + 0x84]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x10015e62
movss xmm7, dword [edi + 0x5c]
jmp 0x10015e65
xorps xmm7, xmm7
maxss xmm7, xmm1
movss xmm5, dword [edi + 0x70]
ucomiss xmm5, xmm2
lahf
test ah, 0x44
jnp 0x10015e7c
movaps xmm6, xmm5
jmp 0x10015eb4
movss xmm0, dword [edi + 0x78]
movss xmm1, dword [edi + 0x50]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [edi + 0x88]
addss xmm0, dword [edi + 0x90]
subss xmm1, xmm0
test dl, dl
je 0x10015ead
movss xmm6, dword [edi + 0x60]
jmp 0x10015eb0
xorps xmm6, xmm6
maxss xmm6, xmm1
movss xmm1, dword [edi + 0x74]
movss xmm2, dword [edi + 0xac]
movss xmm0, dword [edi + 0x208]
mov eax, dword [esp + 0x2c]
subss xmm0, xmm2
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x20], xmm2
movss xmm3, dword [eax]
maxss xmm1, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [edi + 0x228], xmm2
addss xmm2, xmm7
movss xmm0, dword [edi + 0xb0]
movss xmm1, dword [edi + 0x78]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edi + 0x20c]
subss xmm0, dword [esp + 0x14]
movss dword [esp + 0x38], xmm1
maxss xmm1, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x38]
movd xmm0, eax
mov eax, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x22c], xmm0
addss xmm6, xmm0
movss dword [edi + 0x230], xmm2
movss xmm2, dword [esp + 0x5c]
movss dword [edi + 0x234], xmm6
movups xmm0, xmmword [edi + 0x228]
movups xmmword [edi + 0x238], xmm0
movss xmm0, dword [eax]
movss xmm6, dword [edi + 0x84]
movaps xmm3, xmm0
subss xmm3, dword [esp + 0x20]
movss dword [esp + 0x4c], xmm0
addss xmm3, xmm2
addss xmm3, xmm6
movss dword [edi + 0x258], xmm3
movss xmm0, dword [edi + 0x48]
movss xmm7, dword [edi + 0x88]
movss dword [esp + 0x6c], xmm0
subss xmm0, dword [esp + 0x14]
addss xmm0, xmm1
addss xmm0, xmm7
movss dword [esp + 0x5c], xmm0
movss dword [edi + 0x25c], xmm0
xorps xmm0, xmm0
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jp 0x10015ffc
movss xmm4, dword [edi + 0x4c]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm4, xmm0
movaps xmm0, xmm6
addss xmm0, dword [edi + 0x8c]
subss xmm4, xmm0
xorps xmm0, xmm0
ucomiss xmm5, xmm0
addss xmm4, xmm3
lahf
movss dword [edi + 0x260], xmm4
test ah, 0x44
jp 0x10016030
movss xmm5, dword [edi + 0x50]
movaps xmm0, xmm1
addss xmm0, xmm1
subss xmm5, xmm0
movaps xmm0, xmm7
addss xmm0, dword [edi + 0x90]
subss xmm5, xmm0
movss xmm4, dword [esp + 0x20]
lea ecx, [edi + 0x194]
addss xmm5, dword [esp + 0x5c]
movss xmm3, dword [esp + 0x4c]
movaps xmm0, xmm6
addss xmm0, xmm2
mov esi, dword [esp + 0x28]
cvtps2pd xmm3, xmm3
movss dword [edi + 0x264], xmm5
subss xmm0, xmm4
movss dword [edi + 0x16c], xmm0
cvtps2pd xmm0, xmm2
mov dword [edi + 0x174], 0
mov dword [edi + 0x170], 0
movss xmm2, dword [esp + 0x6c]
addsd xmm3, xmm0
cvtps2pd xmm0, xmm4
cvtps2pd xmm2, xmm2
subsd xmm3, xmm0
cvtps2pd xmm0, xmm6
addsd xmm3, xmm0
cvtps2pd xmm0, xmm1
addsd xmm3, qword [0x100f8e98]
addsd xmm2, xmm0
movss xmm0, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
cvtps2pd xmm0, xmm7
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm3
cvtpd2ps xmm1, xmm2
movss dword [edi + 0x138], xmm0
movss dword [edi + 0x13c], xmm1
movss xmm0, dword [edi + 0x138]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [edi + 0x13c]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss dword [edi + 0x178], xmm1
cvtpd2ps xmm0, xmm2
movss dword [edi + 0x17c], xmm0
movss xmm1, dword [edi + 0x138]
movss xmm0, dword [edi + 0x13c]
movss dword [edi + 0x128], xmm1
movss dword [edi + 0x12c], xmm0
movss dword [edi + 0x130], xmm1
movss dword [edi + 0x134], xmm0
movss dword [edi + 0x140], xmm1
movss dword [edi + 0x144], xmm0
movss dword [edi + 0x148], xmm1
xorps xmm1, xmm1
movss dword [edi + 0x14c], xmm0
mov dword [edi + 0x158], 0
mov dword [edi + 0x15c], 0
mov dword [edi + 0x150], 0
mov dword [edi + 0x154], 0
mov dword [edi + 0x164], 0
mov dword [edi + 0x160], 0
mov word [edi + 0x168], 0
mov dword [edi + 0x180], 0
mov ax, word [edi + 0x186]
mov word [edi + 0x184], ax
mov dword [edi + 0x186], 0x10000
movss xmm0, dword [edi + 0xb8]
comiss xmm0, xmm1
seta al
cmp byte [esp + 0x1a], 0
mov byte [edi + 0x18a], al
mov byte [edi + 0x18b], 0
movss xmm1, dword [esi + 0x39a0]
je 0x100161f9
xorps xmm0, xmm0
movq qword [ecx + 0x12], xmm0
cvttss2si eax, xmm1
push 1
mov word [ecx + 8], ax
call fcn.10046a00
xorps xmm0, xmm0
movq qword [edi + 0x1a6], xmm0
mov eax, dword [edi + 0x198]
mov dword [edi + 0x194], eax
lea eax, [edi + 0x1b8]
mov dword [edi + 0x198], 0
mov dword [edi + 0x1b0], 0
mov dword [edi + 0x1b4], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1001626c
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 + 0x1b8]
call fcn.1002bd30
lea eax, [edi + 0x1b8]
mov dword [eax], 0
lea eax, [edi + 0x280]
mov dword [edi + 0x1c4], eax
mov eax, dword [esp + 0x48]
mov dword [edi + 0x1c8], 0
mov dword [edi + 0x1d0], 1
test eax, eax
je 0x100162a2
mov eax, dword [eax + 0x1d0]
jmp 0x100162a7
mov eax, 1
mov dword [edi + 0x1d4], eax
mov eax, dword [edi + 0x27c]
mov dword [edi + 0x1d8], eax
lea eax, [edi + 0x1e0]
mov dword [edi + 0x1dc], 0xbf800000
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x100162f2
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 + 0x1e0]
call fcn.1002bd30
lea eax, [edi + 0x1e0]
mov dword [eax], 0
lea eax, [edi + 0x1ec]
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x10016327
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 + 0x1ec]
call fcn.1002bd30
lea eax, [edi + 0x1ec]
mov dword [eax], 0
mov al, byte [edi + 0xfc]
test al, al
jle 0x1001633f
dec al
mov byte [edi + 0xfc], al
mov al, byte [edi + 0xfd]
test al, al
jle 0x10016351
dec al
mov byte [edi + 0xfd], al
cmp byte [esp + 0x34], 0
je 0x10016375
mov edx, 2
mov ecx, edi
call fcn.10016dd0
cmp edi, dword [esi + 0x4b34]
jne 0x10016375
xor dl, dl
mov ecx, edi
call fcn.1001c220
test byte [esp + 0x1c], 1
jne 0x100163f0
test byte [edi + 0x39d], 1
jne 0x100163f0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x140]
movss xmm0, dword [esp + 0xc0]
mov ecx, edi
push 0
push dword [esp + 0x78]
addss xmm0, dword [eax]
movss dword [esp + 0x148], xmm0
movss xmm0, dword [esp + 0xcc]
movss dword [esp + 0x14c], xmm0
movss xmm0, dword [esp + 0xd0]
subss xmm0, dword [eax]
movss dword [esp + 0x150], xmm0
movss xmm0, dword [esp + 0xd4]
movss dword [esp + 0x154], xmm0
call fcn.100132e0
add esp, 8
xor eax, eax
mov dword [edi + 0x268], eax
test byte [esi + 8], 0x40
je 0x10016459
cmp dword [esi + 0x4070], edi
jne 0x1001641c
mov eax, dword [edi + 0x348]
test dword [eax + 0xc], 0x200000
jne 0x1001641c
mov ecx, edi
call fcn.10029370
cmp byte [esi + 0x4d14], 0
je 0x10016459
test dword [esp + 0x1c], 0x200000
jne 0x10016459
mov eax, dword [esi + 0x4070]
test eax, eax
je 0x10016441
cmp dword [eax + 0x348], edi
je 0x10016459
cmp edi, dword [edi + 0x348]
jne 0x10016459
test dword [edi + 0xc], 0x20000000
jne 0x10016459
mov ecx, edi
call fcn.100295c0
test byte [edi + 0x39d], 1
je 0x100164b1
mov ecx, dword [esi + 0x4980]
mov esi, dword [0x10103540]
mov edx, dword [edi + 0x3c4]
mov eax, dword [edi + 0xa0]
mov dword [esi + 0x49a8], eax
mov dword [esi + 0x49ac], ecx
mov dword [esi + 0x49b0], edx
movups xmm0, xmmword [edi + 0x3c8]
movups xmmword [esi + 0x49c4], xmm0
movups xmm0, xmmword [esi + 0x49c4]
movups xmmword [esi + 0x49b4], xmm0
mov esi, dword [esp + 0x28]
jmp 0x100165b7
mov eax, dword [0x10103540]
movss xmm7, dword [esp + 0xc0]
movaps xmm0, xmm7
movss xmm1, dword [eax + 0x39b8]
movss xmm2, dword [eax + 0xe08]
subss xmm0, xmm1
comiss xmm2, xmm0
jb 0x1001656a
movss xmm6, dword [esp + 0xc4]
movss xmm3, dword [eax + 0x39bc]
movaps xmm0, xmm6
movss xmm5, dword [eax + 0xe0c]
subss xmm0, xmm3
comiss xmm5, xmm0
jb 0x1001656a
movss xmm4, dword [esp + 0xc8]
movaps xmm0, xmm4
addss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x1001656a
movss xmm2, dword [esp + 0xcc]
movaps xmm0, xmm2
addss xmm0, xmm3
comiss xmm0, xmm5
jbe 0x1001656a
mov eax, dword [eax + 0x4af4]
movss xmm3, dword [eax + 0xc]
movss xmm5, dword [eax + 8]
movaps xmm0, xmm3
addss xmm0, dword [eax + 0x14]
movaps xmm1, xmm5
addss xmm1, dword [eax + 0x10]
comiss xmm0, xmm6
jbe 0x1001656a
comiss xmm2, xmm3
jbe 0x1001656a
comiss xmm1, xmm7
jbe 0x1001656a
comiss xmm4, xmm5
mov dword [esp + 0x14], 1
ja 0x10016572
mov dword [esp + 0x14], 0
mov edx, dword [0x10103540]
mov eax, dword [edi + 0xa0]
mov ecx, dword [esi + 0x4980]
mov dword [edx + 0x49a8], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 0x49ac], ecx
mov dword [edx + 0x49b0], eax
movups xmm0, xmmword [esp + 0xc0]
movups xmmword [edx + 0x49c4], xmm0
movups xmm0, xmmword [edx + 0x49c4]
movups xmmword [edx + 0x49b4], xmm0
mov eax, dword [esi + 0x4984]
test eax, eax
je 0x100166b1
cmp dword [edi + 8], eax
je 0x100165d6
cmp dword [edi + 0xa0], eax
jne 0x100166b1
call fcn.1002abe0
jmp 0x100166b1
mov ecx, dword [edi + 0x30]
mov edx, dword [0x10103540]
test ecx, ecx
je 0x100165f6
mov eax, dword [edx + 0x3fe0]
mov dword [ecx + 0x50], eax
cmp dword [edx + 0x4af0], ecx
je 0x10016633
test ecx, ecx
je 0x10016623
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x4aec], eax
mov eax, dword [edx + 0x3920]
mov dword [edx + 0x4af0], ecx
test eax, eax
je 0x10016633
push ecx
call eax
add esp, 4
jmp 0x10016633
mov dword [edx + 0x4aec], 0x3f800000
mov dword [edx + 0x4af0], ecx
mov edx, dword [0x10103540]
mov dword [edx + 0x4064], edi
mov ecx, dword [edi + 0x1cc]
cmp ecx, 0xffffffff
je 0x10016655
shl ecx, 9
add ecx, dword [edx + 0x4dd0]
jmp 0x10016657
xor ecx, ecx
mov dword [edx + 0x4db4], ecx
mov eax, dword [edi]
movss xmm0, dword [eax + 0x3dd0]
mulss xmm0, dword [edi + 0x298]
mov eax, dword [edi + 0x338]
mulss xmm0, dword [edi + 0x29c]
test eax, eax
je 0x10016689
mulss xmm0, dword [eax + 0x298]
movss dword [edx + 0x3de0], xmm0
movss dword [edx + 0x3dcc], xmm0
test ecx, ecx
jne 0x100166a9
cmp dword [edi + 0x1c8], ecx
jne 0x100166a9
mov al, 1
jmp 0x100166ab
xor al, al
mov byte [edi + 0x188], al
mov ecx, dword [esp + 0x1c]
test ecx, 0x20000000
jne 0x1001685b
mov ecx, dword [0x10103540]
mov eax, dword [ecx + 0x4064]
mov byte [eax + 0xe1], 1
mov eax, dword [ecx + 0x4064]
movss xmm1, dword [edi + 0x218]
movss xmm0, dword [edi + 0x21c]
movss xmm2, dword [edi + 0x220]
movss xmm3, dword [edi + 0x224]
mov dword [esp + 0x6c], eax
mov eax, dword [eax + 0x2a4]
mov dword [esp + 0x4c], eax
movss dword [esp + 0xc0], xmm1
movss dword [esp + 0xc4], xmm0
movups xmm4, xmmword [eax + 0x60]
movss dword [esp + 0xc8], xmm2
comiss xmm4, xmm1
movss dword [esp + 0xcc], xmm3
movaps xmmword [esp + 0x80], xmm4
jbe 0x10016749
movaps xmm1, xmm4
movss dword [esp + 0xc0], xmm1
movss xmm4, dword [esp + 0x84]
comiss xmm4, xmm0
jbe 0x10016763
movaps xmm0, xmm4
movss dword [esp + 0xc4], xmm0
movss xmm4, dword [esp + 0x88]
comiss xmm2, xmm4
jbe 0x1001677d
movaps xmm2, xmm4
movss dword [esp + 0xc8], xmm2
movss xmm4, dword [esp + 0x8c]
comiss xmm3, xmm4
jbe 0x10016797
movaps xmm3, xmm4
movss dword [esp + 0xcc], xmm3
comiss xmm1, xmm2
jb 0x100167a5
movss dword [esp + 0xc8], xmm1
comiss xmm0, xmm3
jb 0x100167b3
movss dword [esp + 0xcc], xmm0
mov edx, dword [eax + 0x3c]
lea ecx, [eax + 0x3c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x38], ecx
cmp edx, eax
jne 0x100167ef
inc edx
mov dword [esp + 0x5c], edx
test eax, eax
je 0x100167db
cdq
sub eax, edx
mov edx, dword [esp + 0x5c]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x100167e0
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.1002c170
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
add eax, eax
movaps xmm0, xmmword [esp + 0xc0]
movups xmmword [edx + eax*8], xmm0
inc dword [ecx]
mov ecx, dword [esp + 0x4c]
movups xmmword [ecx + 0x60], xmm0
call fcn.10034ce0
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x2a4]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x248], eax
movss dword [edx + 0x24c], xmm0
movss dword [edx + 0x250], xmm1
movss dword [edx + 0x254], xmm2
mov eax, dword [esp + 0x54]
mov byte [edi + 0xe1], 0
inc word [edi + 0xec]
mov dword [esi + 0x49e4], 0
cmp eax, dword [esp + 0x58]
je 0x10016a11
mov al, byte [edi + 0x39d]
and al, 5
cmp al, 1
jne 0x100168ab
mov eax, dword [edi + 0x274]
cmp eax, dword [esi + 0x3fe0]
jne 0x100168a4
mov byte [edi + 0x105], 1
jmp 0x100168ab
mov byte [edi + 0x104], 1
test ecx, 0x1000000
je 0x1001696d
test cl, 0x40
jne 0x10016933
cmp byte [edi + 0xfc], 0
jg 0x10016933
cmp byte [edi + 0xfd], 0
jg 0x10016933
test ecx, 0x800000
je 0x100168fb
cmp byte [esi + 0x4b7c], 0
je 0x100168fb
mov eax, dword [esi + 0x4b34]
test eax, eax
je 0x100168fb
mov eax, dword [eax + 0x350]
cmp eax, dword [edi + 0x350]
jne 0x100168fb
mov al, 1
jmp 0x100168fd
xor al, al
cmp byte [esi + 0x5f08], 0
jne 0x10016933
test al, al
jne 0x10016933
movss xmm0, dword [edi + 0x1f8]
comiss xmm0, dword [edi + 0x200]
jae 0x1001692c
movss xmm0, dword [edi + 0x1fc]
comiss xmm0, dword [edi + 0x204]
jb 0x10016933
mov byte [edi + 0x104], 1
mov eax, dword [esp + 0x48]
test eax, eax
je 0x1001696d
cmp byte [eax + 0xe2], 0
jne 0x1001694d
cmp byte [eax + 0x104], 0
jle 0x10016954
mov byte [edi + 0x104], 1
cmp byte [eax + 0xe2], 0
jne 0x10016966
cmp byte [eax + 0x105], 0
jle 0x1001696d
mov byte [edi + 0x105], 1
xorps xmm0, xmm0
comiss xmm0, dword [esi + 0x3954]
jb 0x10016980
mov byte [edi + 0x104], 1
cmp byte [edi + 0x104], 0
jg 0x100169a0
cmp byte [edi + 0x105], 0
jg 0x100169a0
xor cl, cl
cmp byte [edi + 0x106], cl
jg 0x100169a2
xor al, al
jmp 0x100169a4
mov cl, 1
mov al, 1
mov byte [edi + 0xe6], al
mov al, byte [edi + 0x107]
test al, al
jle 0x100169c3
dec al
mov byte [edi + 0x107], al
or dword [edi + 0xc], 0xc0200
xor al, al
cmp byte [edi + 0xe2], al
jne 0x100169d9
cmp byte [edi + 0xdf], al
je 0x100169d9
test cl, cl
je 0x10016a0b
cmp byte [edi + 0xfc], 0
jg 0x10016a0b
cmp byte [edi + 0xfd], 0
jg 0x10016a0b
cmp byte [edi + 0x105], 0
jg 0x10016a0b
mov byte [edi + 0xe4], 1
mov ax, word [edi + 0x184]
mov word [edi + 0x186], ax
jmp 0x10016a11
mov byte [edi + 0xe4], al
cmp byte [edi + 0xe7], 0
jne 0x10016a76
cmp byte [esi + 0x6c], 0
je 0x10016a27
cmp byte [esp + 0x1b], 0
jne 0x10016a3c
cmp byte [esi + 0x6d], 0
je 0x10016a76
movsx eax, byte [esi + 0x5f5e]
cmp eax, dword [esi + 0x4040]
jne 0x10016a76
mov al, byte [edi + 0xfc]
test al, al
jle 0x10016a4e
inc al
mov byte [edi + 0xfc], al
mov al, byte [edi + 0xfd]
test al, al
jle 0x10016a60
inc al
mov byte [edi + 0xfd], al
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x184]
xor ecx, esp
call fcn.1006399c
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0xe4], 0
mov ecx, dword [esp + 0x18c]
pop edi
sete al
pop esi
xor ecx, esp
call fcn.1006399c
mov esp, ebp
pop ebp
ret