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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x10129180]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
push esi
mov esi, dword [0x1012ab58]
push edi
push 0
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x10]
push 0
push ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], esi
call fcn.1001a330
add esp, 0xc
lea ecx, [esi + 0x3eec]
push eax
call fcn.10019fb0
push dword [ebp - 0x28]
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x74], ecx
test edi, edi
mov dword [ebp - 0x4c], edi
sete al
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x30], al
test ecx, ecx
jne 0x1000a1da
push dword [ebp - 0x70]
call fcn.1000f770
mov edi, eax
add esp, 8
mov dword [ebp - 0x4c], edi
jmp 0x1000a1e6
push dword [ebp - 0x30]
push edi
call fcn.10027cc0
add esp, 0xc
mov ecx, dword [ebp - 0x28]
mov eax, ecx
and eax, 0xc0200
cmp eax, 0xc0200
jne 0x1000a1fd
or ecx, 6
mov dword [ebp - 0x28], ecx
cmp dword [esi + 0x3ee0], 0
mov edx, dword [esi + 0x3ea0]
mov eax, dword [edi + 0x254]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
jne 0x1000a225
cmp byte [esi + 0x3eb1], 0
je 0x1000a225
mov al, 1
jmp 0x1000a227
xor al, al
mov byte [edi + 0xcb], al
lea eax, [edx - 1]
cmp dword [ebp - 0x58], eax
setl dl
mov byte [ebp - 0x68], dl
test ecx, 0x4000000
je 0x1000a276
mov eax, dword [esi + 0x40cc]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x40c8]
mov eax, dword [edi + 0xd8]
cmp edi, dword [edx + esi*8 + 4]
setne cl
cmp eax, dword [edx + esi*8]
mov dl, byte [ebp - 0x68]
mov esi, dword [ebp - 0x38]
setne al
or cl, al
or dl, cl
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x68], dl
mov al, byte [edi + 0xc9]
mov byte [ebp - 0x29], al
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x5c]
je 0x1000a2f2
mov byte [edi + 0xc9], dl
test dl, dl
je 0x1000a2ad
or byte [edi + 0xe8], 8
or byte [edi + 0xe9], 8
or byte [edi + 0xea], 8
or byte [edi + 0xeb], 8
mov eax, dword [edi + 8]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 0x254], eax
xor eax, eax
mov dword [edi + 8], ecx
movsd xmm0, qword [esi + 0x3e98]
cvtpd2ps xmm0, xmm0
mov word [edi + 0xd2], ax
movss dword [edi + 0x25c], xmm0
movzx eax, word [esi + 0x3ef8]
inc dword [esi + 0x3ef8]
mov word [edi + 0xd4], ax
jmp 0x1000a2f8
mov eax, dword [edi + 8]
mov dword [ebp - 0x28], eax
test dword [esi + 0x3ff0], 0x200
je 0x1000a319
push dword [esi + 0x4000]
push dword [esi + 0x4050]
push edi
call fcn.100251d0
add esp, 0xc
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x5c]
je 0x1000a40a
cmp dword [edi + 0x390], 0
jne 0x1000a3e5
cmp dword [edi + 0x388], 0
jne 0x1000a3e5
mov eax, dword [0x1012ab58]
xor cl, cl
cmp byte [eax + 0x5a], cl
jne 0x1000a354
cmp byte [edi + 0x28], cl
je 0x1000a3e7
test dword [edi + 8], 0x1200001
lea eax, [edi + 8]
mov dword [ebp - 0x54], eax
jne 0x1000a3e7
cmp byte [edi + 0xcb], 0
jne 0x1000a3e7
mov al, byte [edi + 0x36d]
mov byte [ebp - 0x21], al
push dword [ebp - 0x6c]
push edi
call fcn.1000d640
mov edx, dword [ebp - 0x54]
add esp, 8
test byte [edi + 0x36d], 1
mov edx, dword [edx]
mov dword [ebp - 0x28], edx
je 0x1000a39d
and dword [esi + 0x3ff0], 0xffffffef
test byte [edi + 0x36d], 4
je 0x1000a40d
mov al, byte [ebp - 0x21]
test al, 4
jne 0x1000a40d
test al, 2
je 0x1000a40d
cmp byte [edi + 0xc9], 0
jne 0x1000a40d
cmp byte [ebp - 0x29], 0
jne 0x1000a40d
or byte [edi + 0xe8], 8
or byte [edi + 0xe9], 8
or byte [edi + 0xea], 8
or byte [edi + 0xeb], 8
mov byte [edi + 0xc9], 1
jmp 0x1000a40d
mov cl, 1
lea eax, [edi + 8]
mov dword [ebp - 0x54], eax
mov al, byte [edi + 0x36d]
mov byte [ebp - 0x21], al
test cl, cl
jne 0x1000a379
and al, 0xfb
and al, 0xfd
and al, 0xfe
mov byte [edi + 0x36d], al
mov edx, dword [ebp - 0x28]
test byte [edi + 0x36d], 1
je 0x1000a426
mov eax, dword [edi + 0x388]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x1000a440
mov eax, dword [esi + 0x3ee0]
test eax, eax
je 0x1000a43d
imul ecx, eax, 0x54
mov eax, dword [esi + 0x3ee8]
mov eax, dword [ecx + eax - 0x54]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x5c]
je 0x1000a45b
mov ecx, edx
and ecx, 0x5000000
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x1000a464
mov eax, dword [edi + 0x31c]
mov dword [ebp - 0x44], eax
cmp dword [edi + 0xfc], 0
lea eax, [edi + 0xfc]
jne 0x1000a499
cmp dword [eax + 4], 0
jne 0x1000a488
push 8
mov ecx, eax
call fcn.10029e40
lea eax, [edi + 0xfc]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 4]
mov dword [ecx + edx*4], eax
inc dword [edi + 0xfc]
push 0x3c
lea eax, [ebp - 0x12c]
mov dword [esi + 0x3f04], edi
push 0
push eax
call fcn.10076ef0
mov ecx, dword [0x1012ab58]
lea edx, [esi + 0x3ee0]
mov eax, dword [esi + 0x3fec]
xorps xmm0, xmm0
mov dword [ebp - 0xf4], eax
add esp, 0xc
movups xmmword [ebp - 0xf0], xmm0
mov eax, dword [ecx + 0x3f04]
movups xmm0, xmmword [esi + 0x3fb4]
mov word [ebp - 0xe0], 0
mov dword [ebp - 0x130], edi
movzx eax, word [eax + 0xfc]
mov word [ebp - 0xf0], ax
movzx eax, word [ecx + 0x4078]
mov word [ebp - 0xee], ax
movzx eax, word [ecx + 0x4084]
mov word [ebp - 0xec], ax
movzx eax, word [ecx + 0x4090]
mov word [ebp - 0xea], ax
movzx eax, word [ecx + 0x409c]
mov word [ebp - 0xe8], ax
movzx eax, word [ecx + 0x40b4]
movups xmmword [ebp - 0x12c], xmm0
mov word [ebp - 0xe6], ax
movups xmm0, xmmword [esi + 0x3fc4]
movzx eax, word [ecx + 0x40a8]
mov word [ebp - 0xe4], ax
movzx eax, word [ecx + 0x40cc]
movups xmmword [ebp - 0x11c], xmm0
mov word [ebp - 0xe2], ax
movups xmm0, xmmword [esi + 0x3fd4]
movzx eax, word [ecx + 0x52fc]
mov ecx, dword [edx]
movups xmmword [ebp - 0x10c], xmm0
mov word [ebp - 0xe0], ax
mov eax, dword [edx + 4]
movq xmm0, qword [esi + 0x3fe4]
movq qword [ebp - 0xfc], xmm0
mov dword [ebp - 0x30], eax
cmp ecx, eax
jne 0x1000a5da
inc ecx
test eax, eax
je 0x1000a5c2
cdq
sub eax, edx
lea edx, [esi + 0x3ee0]
sar eax, 1
add eax, dword [ebp - 0x30]
jmp 0x1000a5c7
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.1002a1a0
lea edx, [esi + 0x3ee0]
imul ecx, dword [edx], 0x54
movups xmm0, xmmword [ebp - 0x130]
mov eax, dword [ebp - 0xe0]
add ecx, dword [edx + 8]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x120]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x110]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x100]
movups xmmword [ecx + 0x30], xmm0
movups xmm0, xmmword [ebp - 0xf0]
movups xmmword [ecx + 0x40], xmm0
mov dword [ecx + 0x50], eax
inc dword [edx]
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x3f04], 0
test eax, 0x10000000
je 0x1000a63b
inc dword [esi + 0x40d8]
test eax, 0x4000000
je 0x1000a67e
mov eax, dword [esi + 0x40cc]
lea ecx, [esi + 0x40cc]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x40c8]
mov dword [eax + edx*8 + 4], edi
lea esi, [eax + edx*8]
mov eax, dword [ebp - 0x3c]
push esi
mov eax, dword [eax + 0x160]
mov dword [esi + 0xc], eax
call fcn.10029b40
mov eax, dword [esi]
mov esi, dword [ebp - 0x38]
mov dword [edi + 0xd8], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x5c]
je 0x1000a69c
push dword [ebp - 0x44]
push eax
push edi
call fcn.10028850
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov dword [edi + 0x320], eax
test byte [esi + 0x3ff0], 1
mov byte [ebp - 0x2c], 0
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2b], 0
je 0x1000a752
mov dl, byte [edi + 0xe8]
mov ecx, dword [esi + 0x3ff4]
movsx eax, dl
test ecx, eax
setne byte [ebp - 0x2c]
test ecx, eax
je 0x1000a741
movss xmm1, dword [esi + 0x4010]
movss xmm0, dword [esi + 0x400c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x1009ffc0]
jbe 0x1000a741
mov eax, dword [esi + 0x4004]
mov ecx, dword [esi + 0x4008]
mov dword [edi + 0xf0], ecx
mov dword [edi + 0xec], eax
mov eax, dword [esi + 0x400c]
mov ecx, dword [esi + 0x4010]
mov dword [edi + 0xf8], ecx
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0xe8]
movzx ecx, dl
and eax, 0xffffff00
and ecx, 0xf1
or ecx, eax
mov dword [edi + 0xe8], ecx
jmp 0x1000a752
push ecx
lea eax, [esi + 0x4004]
push eax
push edi
call fcn.100252d0
add esp, 0xc
test byte [esi + 0x3ff0], 2
xorps xmm1, xmm1
je 0x1000a7b4
movsx eax, byte [edi + 0xe9]
mov ecx, dword [esi + 0x3ff8]
and eax, ecx
je 0x1000a782
movss xmm0, dword [esi + 0x4014]
comiss xmm0, xmm1
jbe 0x1000a782
mov byte [ebp - 0x29], 1
jmp 0x1000a78b
xor dl, dl
mov byte [ebp - 0x29], dl
test eax, eax
je 0x1000a79c
movss xmm0, dword [esi + 0x4018]
comiss xmm0, xmm1
mov byte [ebp - 0x2b], 1
ja 0x1000a7a0
mov byte [ebp - 0x2b], 0
push ecx
lea eax, [esi + 0x4014]
push eax
push edi
call fcn.10025430
add esp, 0xc
xorps xmm1, xmm1
test byte [esi + 0x3ff0], 0x80
je 0x1000a7fb
movss xmm0, dword [esi + 0x4024]
comiss xmm0, xmm1
jb 0x1000a7dc
movss dword [edi + 0xa0], xmm0
mov dword [edi + 0xa8], 0
movss xmm0, dword [esi + 0x4028]
comiss xmm0, xmm1
jb 0x1000a7fb
movss dword [edi + 0xa4], xmm0
mov dword [edi + 0xac], 0
test byte [esi + 0x3ff0], 4
je 0x1000a818
mov eax, dword [esi + 0x401c]
mov ecx, dword [esi + 0x4020]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], ecx
jmp 0x1000a82e
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x5c]
je 0x1000a82e
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0
test dword [esi + 0x3ff0], 0x400
je 0x1000a85b
movups xmm0, xmmword [esi + 0x4054]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esi + 0x4064]
movq qword [edi + 0x20], xmm0
mov eax, dword [esi + 0x406c]
mov dword [edi + 0x28], eax
test byte [esi + 0x3ff0], 8
je 0x1000a8a8
mov ecx, dword [esi + 0x3ffc]
mov dl, byte [esi + 0x402d]
test ecx, ecx
je 0x1000a87f
movsx eax, byte [edi + 0xea]
test ecx, eax
je 0x1000a8a8
movzx ecx, byte [edi + 0xea]
mov eax, dword [edi + 0xe8]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [edi + 0xc6], dl
mov dword [edi + 0xe8], ecx
test byte [esi + 0x3ff0], 0x20
je 0x1000a8ba
push edi
call fcn.10018f50
add esp, 4
cmp byte [edi + 0xc9], 0
je 0x1000a8df
and byte [edi + 0xe8], 0xf7
and byte [edi + 0xe9], 0xf7
and byte [edi + 0xea], 0xf7
and byte [edi + 0xeb], 0xf7
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x5c]
je 0x1000c822
mov eax, dword [ebp - 0x28]
and eax, 0x3000000
mov byte [edi + 0xc3], 1
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x54], eax
mov al, byte [edi + 0xe5]
mov byte [ebp - 0x3d], al
setne al
mov byte [edi + 0xcd], al
mov dword [edi + 0x22c], 0xff7fffff
mov dword [edi + 0x230], 0xff7fffff
mov dword [edi + 0x234], 0x7f7fffff
mov dword [edi + 0x238], 0x7f7fffff
mov eax, dword [edi + 0x100]
cmp eax, 1
jge 0x1000a979
test eax, eax
je 0x1000a95c
cdq
sub eax, edx
lea edx, [edi + 0xfc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1000a967
mov ecx, 8
lea edx, [edi + 0xfc]
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10029e40
mov dword [edi + 0xfc], 1
mov ecx, dword [edi + 0x288]
call fcn.100321f0
test dword [ebp - 0x28], 0x20000000
mov dword [edi + 0x1b0], 0xffffffff
je 0x1000a9c3
mov ecx, dword [edi + 0x288]
push 2
push ecx
add ecx, 0x78
call fcn.10031320
mov ecx, dword [edi + 0x288]
push 1
push ecx
add ecx, 0x78
call fcn.100311f0
cmp byte [edi + 0x36c], 0
je 0x1000aa98
mov ecx, dword [edi + 0x288]
push dword [edi + 0x364]
add ecx, 0xc
mov byte [edi + 0x36c], 0
call fcn.10029dc0
mov eax, dword [edi + 0x288]
mov ecx, dword [edi + 0x368]
add eax, 0x18
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
cmp ecx, dword [eax + 4]
jle 0x1000aa84
mov eax, dword [0x1012ab58]
test eax, eax
je 0x1000aa14
inc dword [eax + 0xb0]
push dword [0x1012ab60]
lea eax, [ecx + ecx*4]
shl eax, 2
push eax
call dword [0x10129058]
mov dword [ebp - 0x48], eax
add esp, 8
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 8]
test edx, edx
je 0x1000aa78
mov ecx, dword [eax]
lea ecx, [ecx + ecx*4]
shl ecx, 2
push ecx
push edx
push dword [ebp - 0x48]
call fcn.10077050
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x1000aa65
mov eax, dword [0x1012ab58]
test eax, eax
je 0x1000aa65
dec dword [eax + 0xb0]
push dword [0x1012ab60]
push ecx
call dword [0x1012905c]
mov eax, dword [ebp - 0x34]
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], ecx
mov dword [edi + 0x368], 0
mov dword [edi + 0x364], 0
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x1000aaa4
cmp dword [eax + 0x6c], edi
je 0x1000aac7
test byte [edi + 0x36d], 1
jne 0x1000aac7
cmp dword [esi + 0x427c], 0
je 0x1000ab9b
test dword [edi + 8], 0x80000
jne 0x1000ab9b
cmp dword [ebp - 0x74], 0
je 0x1000ab9b
mov eax, dword [edi]
mov ecx, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ab00
test dl, dl
je 0x1000aafc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ab00
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000aae0
xor eax, eax
jmp 0x1000ab05
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ab9b
mov ecx, dword [ebp - 0x70]
mov edx, dword [edi + 0x80]
mov dword [ebp - 0x50], edx
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ab20
sub ecx, dword [ebp - 0x30]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x34], eax
cmp edx, eax
jae 0x1000ab83
test ecx, ecx
je 0x1000ab4a
mov eax, dword [0x1012ab58]
test eax, eax
je 0x1000ab4a
dec dword [eax + 0xb0]
push dword [0x1012ab60]
push ecx
call dword [0x1012905c]
mov eax, dword [0x1012ab58]
add esp, 8
test eax, eax
je 0x1000ab69
inc dword [eax + 0xb0]
push dword [0x1012ab60]
push dword [ebp - 0x34]
call dword [0x10129058]
mov ecx, eax
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
push eax
push dword [ebp - 0x70]
push ecx
call fcn.10077050
mov dword [edi], eax
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov dword [edi + 0x80], eax
lea eax, [edi + 0x60]
push eax
lea eax, [edi + 0x58]
push eax
push edi
call fcn.1000e9d0
mov al, byte [edi + 0xe4]
add esp, 0xc
test al, al
jle 0x1000abbe
dec al
mov byte [edi + 0xe4], al
mov al, byte [edi + 0xe5]
test al, al
jle 0x1000abd0
dec al
mov byte [edi + 0xe5], al
mov al, byte [edi + 0xe6]
test al, al
jle 0x1000abe2
dec al
mov byte [edi + 0xe6], al
cmp dword [ebp - 0x74], 0
mov cl, byte [ebp - 0x29]
mov dl, byte [ebp - 0x2b]
jne 0x1000abfd
test cl, cl
je 0x1000abf6
test dl, dl
jne 0x1000abfd
mov byte [edi + 0xe5], 1
cmp byte [ebp - 0x68], 0
je 0x1000ac58
mov eax, dword [ebp - 0x28]
test eax, 0x6000000
je 0x1000ac58
mov byte [edi + 0xe5], 1
test al, 0x40
je 0x1000ac58
test cl, cl
jne 0x1000ac2a
mov dword [edi + 0x50], 0
mov dword [edi + 0x48], 0
test dl, dl
jne 0x1000ac3c
mov dword [edi + 0x54], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0
push edi
call fcn.10028990
mov ecx, dword [edi + 0x2c]
add esp, 4
mov edx, dword [0x1012ab58]
test ecx, ecx
je 0x1000ac77
mov eax, dword [edx + 0x3ea0]
mov dword [ecx + 0x4c], eax
movss xmm0, dword [0x1009e4d0]
cmp dword [edx + 0x40ec], ecx
je 0x1000acc4
test ecx, ecx
je 0x1000acb4
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x40e8], eax
mov eax, dword [edx + 0x3808]
mov dword [edx + 0x40ec], ecx
test eax, eax
je 0x1000acc4
push ecx
call eax
movss xmm0, dword [0x1009e4d0]
add esp, 4
jmp 0x1000acc4
mov dword [edx + 0x40e8], 0x3f800000
mov dword [edx + 0x40ec], ecx
test dword [esi + 8], 0x8000
je 0x1000acd5
mov eax, dword [edi + 0x2c]
movss xmm0, dword [eax + 0x28]
movss dword [edi + 0x280], xmm0
mov ecx, dword [0x1012ab58]
mov dword [ecx + 0x3f04], edi
mov eax, dword [edi + 0x1b0]
cmp eax, 0xffffffff
je 0x1000ad02
imul eax, eax, 0x1d8
add eax, dword [ecx + 0x4350]
jmp 0x1000ad04
xor eax, eax
mov dword [ecx + 0x4334], eax
mov eax, dword [0x1012ab58]
movss xmm0, dword [eax + 0x3c9c]
mulss xmm0, dword [edi + 0x27c]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x1000ad39
mulss xmm0, dword [eax + 0x27c]
movss dword [ecx + 0x3cac], xmm0
movss dword [ecx + 0x3c98], xmm0
mov ecx, dword [edi + 8]
mov dword [ebp - 0x28], ecx
test ecx, 0x1000000
je 0x1000ad61
movss xmm0, dword [esi + 0x3884]
jmp 0x1000ad83
test ecx, 0x6000000
je 0x1000ad7b
test ecx, 0x8000000
jne 0x1000ad7b
movss xmm0, dword [esi + 0x388c]
jmp 0x1000ad83
movss xmm0, dword [esi + 0x3868]
movss dword [edi + 0x7c], xmm0
test byte [edi + 0x36d], 1
jne 0x1000adb8
mov eax, ecx
and eax, 0x5010000
cmp eax, 0x1000000
jne 0x1000adb8
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000adb8
test ecx, 0x400
jne 0x1000adc0
xorps xmm0, xmm0
jmp 0x1000adc8
movss xmm1, dword [esi + 0x385c]
movss xmm0, dword [esi + 0x3860]
movss dword [edi + 0x70], xmm1
movss dword [edi + 0x74], xmm0
movss xmm0, dword [edi + 0x70]
maxss xmm0, dword [esi + 0x38a0]
maxss xmm0, dword [esi + 0x4070]
movss dword [edi + 0x170], xmm0
mov eax, dword [esi + 0x4074]
mov dword [edi + 0x174], eax
test cl, 0x21
jne 0x1000ae86
test byte [edi + 0x36d], 1
jne 0x1000ae86
lea eax, [ebp - 0x90]
mov ecx, edi
push eax
call fcn.10025850
cmp dword [esi + 0x3f08], edi
jne 0x1000ae62
cmp dword [esi + 0x3f2c], 0
jne 0x1000ae62
cmp dword [esi + 0x3f30], 0
jne 0x1000ae62
push 1
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.1001b1a0
add esp, 0xc
test al, al
je 0x1000ae62
cmp word [esi + 0x3682], 2
jne 0x1000ae62
mov byte [edi + 0xc7], 1
cmp byte [edi + 0xc7], 0
je 0x1000ae8d
cmp byte [edi + 0xc6], 0
push edi
sete al
mov byte [edi + 0xc6], al
call fcn.1001bd90
add esp, 4
jmp 0x1000ae8d
mov byte [edi + 0xc6], 0
lea eax, [edi + 0x60]
mov byte [edi + 0xc7], 0
push eax
lea eax, [ebp - 0x98]
push edi
push eax
call fcn.1000e730
mov cl, byte [ebp - 0x2a]
add esp, 0xc
test byte [ebp - 0x28], 0x40
mov byte [ebp - 0x21], cl
je 0x1000aef4
cmp byte [edi + 0xc6], 0
jne 0x1000aef4
cmp byte [ebp - 0x29], 0
jne 0x1000aed4
movss xmm0, dword [ebp - 0x98]
movss dword [edi + 0x50], xmm0
mov byte [ebp - 0x2a], 1
cmp byte [ebp - 0x2b], 0
jne 0x1000afa3
movss xmm0, dword [ebp - 0x94]
movss dword [edi + 0x54], xmm0
mov byte [ebp - 0x21], 1
jmp 0x1000afa3
mov al, byte [edi + 0xdc]
test al, al
jg 0x1000af0b
cmp byte [edi + 0xdd], 0
jle 0x1000afa3
cmp byte [ebp - 0x29], 0
jne 0x1000af3e
test al, al
jle 0x1000af3e
cmp byte [edi + 0xdf], 0
je 0x1000af2d
movss xmm0, dword [edi + 0x50]
maxss xmm0, dword [ebp - 0x98]
jmp 0x1000af35
movss xmm0, dword [ebp - 0x98]
movss dword [edi + 0x50], xmm0
mov byte [ebp - 0x2a], 1
cmp byte [ebp - 0x2b], 0
jne 0x1000af76
cmp byte [edi + 0xdd], 0
jle 0x1000af76
cmp byte [edi + 0xdf], 0
je 0x1000af65
movss xmm0, dword [edi + 0x54]
maxss xmm0, dword [ebp - 0x94]
jmp 0x1000af6d
movss xmm0, dword [ebp - 0x94]
movss dword [edi + 0x54], xmm0
mov byte [ebp - 0x21], 1
cmp byte [edi + 0xc6], 0
jne 0x1000afa3
test dword [edi + 8], 0x100
mov ecx, dword [0x1012ab58]
jne 0x1000afa3
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x5370]
jb 0x1000afa3
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x5370], eax
lea esi, [edi + 0x50]
push esi
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.1000eb50
add esp, 0xc
cmp byte [edi + 0xc6], 0
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
je 0x1000aff6
test dword [ebp - 0x28], 0x1000000
jne 0x1000aff6
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.10025850
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
subss xmm0, dword [eax]
subss xmm1, dword [eax + 4]
mov edx, dword [edi + 8]
movss dword [edi + 0x48], xmm0
movss dword [edi + 0x4c], xmm1
mov eax, dword [0x1012ab58]
test dl, 1
je 0x1000b012
xorps xmm1, xmm1
jmp 0x1000b04c
movss xmm0, dword [eax + 0x3c9c]
mulss xmm0, dword [edi + 0x27c]
mov ecx, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test ecx, ecx
je 0x1000b03c
mulss xmm0, dword [ecx + 0x27c]
movss xmm1, dword [eax + 0x3894]
addss xmm1, xmm1
addss xmm1, xmm0
test edx, 0x400
je 0x1000b098
movss xmm2, dword [eax + 0x3c9c]
mulss xmm2, dword [edi + 0x27c]
mov ecx, dword [edi + 0x31c]
mulss xmm2, dword [edi + 0x280]
test ecx, ecx
je 0x1000b07e
mulss xmm2, dword [ecx + 0x27c]
movss xmm0, dword [eax + 0x3894]
addss xmm2, dword [edi + 0x174]
addss xmm0, xmm0
addss xmm2, xmm0
jmp 0x1000b09b
xorps xmm2, xmm2
cmp byte [ebp - 0x68], 0
addss xmm2, xmm1
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x38]
movss dword [ebp - 0x50], xmm2
je 0x1000b0f3
mov eax, edx
mov dword [edi + 0xe0], 0xffffffff
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000b0f3
cmp byte [ebp - 0x2c], 0
jne 0x1000b0f3
mov eax, dword [esi + 0x40cc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x40d4]
movss xmm0, dword [eax + ecx*8 - 0x10]
movss xmm1, dword [eax + ecx*8 - 0xc]
movss dword [edi + 0x40], xmm0
movss dword [edi + 0x44], xmm1
test edx, 0x1000000
je 0x1000b18a
mov ecx, dword [ebp - 0x44]
add ecx, 0x19c
mov dword [ebp - 0x34], ecx
mov ax, word [ecx]
mov word [edi + 0xd2], ax
mov eax, dword [ecx + 4]
cmp dword [ecx], eax
jne 0x1000b149
mov edx, dword [ecx]
inc edx
mov dword [ebp - 0x30], edx
test eax, eax
je 0x1000b133
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 1
add eax, dword [ecx + 4]
jmp 0x1000b138
mov eax, 8
cmp eax, edx
cmovg edx, eax
push edx
call fcn.10029e40
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov eax, dword [eax + 0x1a4]
mov dword [eax + ecx*4], edi
mov ecx, dword [ebp - 0x44]
mov al, byte [ebp - 0x2c]
inc dword [ecx + 0x19c]
test edx, 0x4000000
jne 0x1000b18d
test al, al
jne 0x1000b18d
cmp dword [ebp - 0x54], 0x3000000
je 0x1000b18d
mov eax, dword [ecx + 0x108]
mov ecx, dword [ecx + 0x10c]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], ecx
mov al, byte [ebp - 0x2c]
movss xmm1, dword [edi + 0xec]
ucomiss xmm1, dword [0x100a007c]
lahf
test ah, 0x44
jnp 0x1000b1f0
cmp byte [edi + 0xe5], 0
jne 0x1000b1f0
movss xmm0, dword [edi + 0xf4]
lea eax, [ebp - 0x64]
mulss xmm0, dword [edi + 0x48]
push 0
push eax
push edi
subss xmm1, xmm0
movss xmm0, dword [edi + 0xf0]
movss dword [ebp - 0x64], xmm1
movss xmm1, dword [edi + 0xf8]
mulss xmm1, dword [edi + 0x4c]
subss xmm0, xmm1
movss dword [ebp - 0x60], xmm0
call fcn.100252d0
add esp, 0xc
jmp 0x1000b23e
test edx, 0x10000000
jne 0x1000b21e
test edx, 0x4000000
je 0x1000b209
test al, al
jne 0x1000b209
cmp byte [ebp - 0x3d], al
jg 0x1000b21e
test edx, 0x2000000
je 0x1000b23e
test al, al
jne 0x1000b23e
cmp dword [ebp - 0x54], 0x3000000
je 0x1000b23e
lea eax, [ebp - 0x64]
push edi
push eax
call fcn.10018250
add esp, 8
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
movss dword [edi + 0x40], xmm0
movss dword [edi + 0x44], xmm1
cmp dword [edi + 0x3c], 0
jl 0x1000b3af
cmp byte [edi + 0xc2], 0
jne 0x1000b3af
mov eax, dword [edi + 0x2c]
test dword [eax + 4], 0x400
jne 0x1000b3af
movss xmm0, dword [edi + 0x40]
lea ecx, [edi + 0x40]
comiss xmm0, dword [eax + 8]
movss xmm6, dword [eax + 0xc]
movaps xmm2, xmm0
movss xmm7, dword [edi + 0x44]
movaps xmm5, xmm6
movss xmm3, dword [eax + 8]
movaps xmm4, xmm7
addss xmm3, dword [eax + 0x10]
addss xmm5, dword [eax + 0x14]
addss xmm2, dword [edi + 0x48]
addss xmm4, dword [edi + 0x4c]
jb 0x1000b2b2
comiss xmm7, xmm6
jb 0x1000b2b2
comiss xmm3, xmm2
jb 0x1000b2b2
comiss xmm5, xmm4
jae 0x1000b3af
push 0x20
lea eax, [edi + 0x48]
push eax
push ecx
push dword [edi + 4]
push edi
call fcn.10009c00
mov edx, eax
add esp, 0x14
mov dword [edi + 0x2c], edx
mov ecx, dword [0x1012ab58]
mov dword [ebp - 0x30], ecx
test edx, edx
je 0x1000b2e3
mov ecx, dword [ecx + 0x3ea0]
mov dword [edx + 0x4c], ecx
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x40ec], edx
je 0x1000b320
test edx, edx
je 0x1000b310
mov eax, dword [edx + 0x28]
mov dword [ecx + 0x40e8], eax
mov eax, dword [ecx + 0x3808]
mov dword [ecx + 0x40ec], edx
test eax, eax
je 0x1000b320
push edx
call eax
add esp, 4
jmp 0x1000b320
mov dword [ecx + 0x40e8], 0x3f800000
mov dword [ecx + 0x40ec], edx
test dword [esi + 8], 0x8000
je 0x1000b333
mov eax, dword [edi + 0x2c]
movss xmm0, dword [eax + 0x28]
jmp 0x1000b33b
movss xmm0, dword [0x1009e4d0]
movss dword [edi + 0x280], xmm0
mov ecx, dword [0x1012ab58]
mov dword [ecx + 0x3f04], edi
mov eax, dword [edi + 0x1b0]
cmp eax, 0xffffffff
je 0x1000b368
imul eax, eax, 0x1d8
add eax, dword [ecx + 0x4350]
jmp 0x1000b36a
xor eax, eax
mov dword [ecx + 0x4334], eax
mov eax, dword [0x1012ab58]
movss xmm0, dword [eax + 0x3c9c]
mulss xmm0, dword [edi + 0x27c]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x1000b39f
mulss xmm0, dword [eax + 0x27c]
movss dword [ecx + 0x3cac], xmm0
movss dword [ecx + 0x3c98], xmm0
mov dl, byte [edi + 0xc2]
test dl, dl
je 0x1000b3cb
push dword [ebp - 0x3c]
push edi
call fcn.10029400
mov dl, byte [edi + 0xc2]
add esp, 8
cmp byte [ebp - 0x2c], 0
mov eax, dword [edi + 0x2c]
movss xmm6, dword [esi + 0x3900]
maxss xmm6, dword [esi + 0x3908]
movss xmm7, dword [esi + 0x38fc]
movss xmm0, dword [eax + 8]
movss xmm1, dword [eax + 0xc]
movaps xmm5, xmm0
movss xmm2, dword [eax + 0x18]
movaps xmm4, xmm1
movss xmm3, dword [eax + 0x1c]
maxss xmm7, dword [esi + 0x3904]
addss xmm5, dword [eax + 0x10]
addss xmm4, dword [eax + 0x14]
mov ecx, dword [ebp - 0x28]
movss dword [ebp - 0x90], xmm0
movaps xmm0, xmm3
addss xmm0, dword [eax + 0x24]
movss dword [ebp - 0x8c], xmm1
addss xmm3, xmm6
movaps xmm1, xmm2
movss dword [ebp - 0x88], xmm5
addss xmm1, dword [eax + 0x20]
addss xmm2, xmm7
movss dword [ebp - 0x84], xmm4
subss xmm0, xmm6
movss dword [ebp - 0x34], xmm6
movss dword [ebp - 0x30], xmm7
movss dword [ebp - 0xbc], xmm3
subss xmm1, xmm7
movss dword [ebp - 0xc0], xmm2
movss dword [ebp - 0xb4], xmm0
movss dword [ebp - 0xb8], xmm1
jne 0x1000b554
test ecx, 0x1000000
jne 0x1000b554
cmp byte [edi + 0xdc], 0
jg 0x1000b554
cmp byte [edi + 0xdd], 0
jg 0x1000b554
test dl, dl
jne 0x1000b4e4
subss xmm5, dword [eax + 8]
xorps xmm2, xmm2
comiss xmm5, xmm2
jbe 0x1000b554
subss xmm4, dword [eax + 0xc]
comiss xmm4, xmm2
jbe 0x1000b554
lea eax, [ebp - 0xc0]
push eax
push edi
call fcn.1000eeb0
add esp, 8
jmp 0x1000b551
cmp dword [esi + 0x3824], 0
jle 0x1000b554
push eax
call fcn.10019f70
movss xmm3, dword [eax + 0x10]
movss xmm2, dword [eax + 0x14]
movaps xmm1, xmm3
addss xmm3, dword [eax + 0x18]
addss xmm1, dword [ebp - 0x30]
movaps xmm0, xmm2
addss xmm2, dword [eax + 0x1c]
addss xmm0, dword [ebp - 0x34]
subss xmm3, dword [ebp - 0x30]
lea eax, [ebp - 0xc0]
movss dword [ebp - 0xc0], xmm1
push eax
subss xmm2, dword [ebp - 0x34]
push edi
movss dword [ebp - 0xbc], xmm0
movss dword [ebp - 0xb8], xmm3
movss dword [ebp - 0xb4], xmm2
call fcn.1000eeb0
add esp, 0xc
mov ecx, dword [ebp - 0x28]
cmp byte [edi + 0xc2], 0
cvttss2si eax, dword [edi + 0x40]
movd xmm1, eax
cvttss2si eax, dword [edi + 0x44]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x40], xmm1
movss dword [edi + 0x44], xmm0
jne 0x1000b5bc
test byte [edi + 0x36d], 1
jne 0x1000b5bc
test ecx, 0x1000000
je 0x1000b59a
movss xmm0, dword [esi + 0x3880]
jmp 0x1000b5bf
mov eax, ecx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000b5b2
movss xmm0, dword [esi + 0x3888]
jmp 0x1000b5bf
movss xmm0, dword [esi + 0x3864]
jmp 0x1000b5bf
xorps xmm0, xmm0
xor al, al
movss dword [edi + 0x78], xmm0
mov dword [ebp - 0x48], eax
cmp byte [ebp - 0x68], al
je 0x1000b7f6
test ecx, 0x1000
jne 0x1000b7f6
test ecx, 0x4000000
je 0x1000b5ec
mov byte [ebp - 0x48], 1
jmp 0x1000b611
test byte [edi + 0x36d], 1
jne 0x1000b5fd
test ecx, 0x1000000
jne 0x1000b611
test ecx, 0x2000000
movzx eax, al
mov ecx, 1
cmove eax, ecx
mov dword [ebp - 0x48], eax
call fcn.10019e60
test eax, eax
je 0x1000b7f6
push eax
push edi
call fcn.1001b440
add esp, 8
test al, al
jne 0x1000b7f6
mov byte [ebp - 0x48], al
cmp edi, dword [edi + 0x324]
jne 0x1000b7f6
mov edx, dword [0x1012ab58]
mov dword [ebp - 0x3c], edx
mov eax, dword [edx + 0x40c0]
test eax, eax
jle 0x1000b706
add eax, 0xffffffff
mov dword [ebp - 0x34], eax
js 0x1000b706
mov edx, dword [edx + 0x40c8]
lea ecx, [eax + eax*4]
add edx, 4
lea edx, [edx + ecx*8]
mov dword [ebp - 0x30], edx
mov edx, dword [edx]
test edx, edx
je 0x1000b6f1
test dword [edx + 8], 0x8000000
je 0x1000b6f1
cmp byte [edx + 0xc3], 0
jne 0x1000b699
cmp byte [edx + 0xc4], 0
je 0x1000b6f1
mov eax, edi
cmp dword [edi + 0x324], edx
je 0x1000b706
cmp eax, edx
je 0x1000b706
mov eax, dword [eax + 0x320]
test eax, eax
jne 0x1000b6a3
mov eax, dword [edx + 0x320]
mov ecx, dword [eax + 0x324]
test ecx, ecx
je 0x1000b6ee
mov eax, edi
cmp dword [edi + 0x324], ecx
je 0x1000b708
nop dword [eax + eax]
cmp eax, ecx
je 0x1000b708
mov eax, dword [eax + 0x320]
test eax, eax
jne 0x1000b6d0
mov eax, dword [ecx + 0x320]
mov ecx, dword [eax + 0x324]
test ecx, ecx
jne 0x1000b6c1
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
dec eax
sub edx, 0x28
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
test eax, eax
jns 0x1000b674
xor edx, edx
mov eax, dword [edx + 0x324]
mov ecx, dword [edi + 0x324]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov edx, dword [eax + 0x3ec4]
mov eax, dword [eax + 0x3ebc]
lea eax, [edx + eax*4]
cmp edx, eax
jae 0x1000b73b
cmp dword [edx], ecx
je 0x1000b73b
add edx, 4
cmp edx, eax
jb 0x1000b730
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x3ec4]
sub edx, ecx
mov eax, dword [eax + 0x3ebc]
sar edx, 2
lea eax, [ecx + eax*4]
cmp ecx, eax
jae 0x1000b76e
mov esi, dword [ebp - 0x34]
nop dword [eax]
cmp dword [ecx], esi
je 0x1000b76b
add ecx, 4
cmp ecx, eax
jb 0x1000b760
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
sub ecx, dword [eax + 0x3ec4]
sar ecx, 2
mov dword [ebp - 0x60], ecx
lea eax, [ecx*4]
mov dword [ebp - 0x34], eax
cmp edx, ecx
jge 0x1000b7c3
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x3ec4]
lea ecx, [eax + edx*4]
mov eax, dword [ebp - 0x60]
sub eax, edx
lea eax, [eax*4 - 4]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call fcn.10077050
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax + 0x3ec4]
mov dword [edx + eax - 4], ecx
jmp 0x1000b7f3
mov esi, dword [ebp - 0x3c]
sub edx, ecx
shl edx, 2
push edx
add eax, dword [esi + 0x3ec4]
push eax
add eax, 4
push eax
call fcn.10077050
mov edx, dword [ebp - 0x34]
mov eax, esi
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x38]
mov eax, dword [eax + 0x3ec4]
mov dword [edx + eax], ecx
add esp, 0xc
cmp dword [edi + 0x38c], 0
jne 0x1000b80c
test byte [edi + 0x36d], 1
je 0x1000b80c
xor al, al
jmp 0x1000b80e
mov al, 1
movss xmm2, dword [esi + 0x3c98]
xorps xmm0, xmm0
movaps xmmword [ebp - 0x20], xmm0
movaps xmm1, xmm2
movss xmm0, dword [edi + 0x78]
xor ecx, ecx
addss xmm0, dword [0x1009e4d0]
mulss xmm2, dword [0x1009ffdc]
cmp byte [esi + 0x65], cl
mulss xmm1, dword [0x100a0014]
setne cl
mov byte [ebp - 0x34], al
addss xmm0, xmm2
mov dword [ebp - 0x30], 0xffffffff
inc ecx
mov dword [ebp - 0x3c], ecx
maxss xmm1, xmm0
cvttss2si esi, xmm1
test al, al
je 0x1000b898
cmp byte [edi + 0xc6], 0
jne 0x1000b898
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x20]
push eax
push ecx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x98]
push eax
push edi
call fcn.10027df0
add esp, 0x18
test al, al
je 0x1000b898
mov byte [ebp - 0x21], 1
mov byte [ebp - 0x2a], 1
cmp byte [edi + 0xc2], 0
mov al, byte [ebp - 0x30]
mov byte [edi + 0xce], al
je 0x1000b985
mov edx, dword [edi + 0x2c]
cmp byte [edx + 0x44], 0
jne 0x1000b8c3
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov edx, dword [edi + 0x2c]
cmp byte [edx + 0x45], 0
jne 0x1000b8d8
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [edi + 0x2c]
movss xmm0, dword [eax + 0xe4]
addss xmm0, dword [eax + 0xc]
movss xmm2, dword [eax + 0xe0]
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 + 0xe8]
maxss xmm2, xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [eax + 0xe4]
addss xmm0, dword [eax + 0xec]
movss dword [eax + 0x20], xmm2
maxss xmm1, xmm0
movss dword [eax + 0x24], xmm1
mov eax, dword [edi + 0x2c]
movss xmm0, dword [eax + 0xc]
movss xmm1, dword [eax + 8]
movss dword [ebp - 0x90], xmm1
addss xmm1, dword [eax + 0x10]
movss dword [ebp - 0x8c], xmm0
addss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x88], xmm1
movss dword [ebp - 0x84], xmm0
movaps xmm0, xmmword [ebp - 0x90]
movaps xmmword [ebp - 0x90], xmm0
cmp byte [edi + 0xc6], 0
mov eax, dword [edi + 0x2c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x34], ecx
mov dword [edi + 0x38], eax
jne 0x1000bacc
cmp dword [ebp - 0x74], 0
movss xmm2, dword [edi + 0x1f4]
movss xmm3, dword [edi + 0x1f8]
subss xmm2, dword [edi + 0x1ec]
subss xmm3, dword [edi + 0x1f0]
movss xmm4, dword [edi + 0x54]
movss xmm5, dword [edi + 0x50]
subss xmm4, dword [ebp - 0x50]
addss xmm2, dword [edi + 0xb8]
addss xmm3, dword [edi + 0xbc]
jne 0x1000b9ee
xorps xmm1, xmm1
xorps xmm0, xmm0
jmp 0x1000ba0a
movss xmm1, dword [edi + 0x70]
movss xmm0, dword [edi + 0x74]
addss xmm1, xmm1
addss xmm0, xmm0
addss xmm1, dword [edi + 0x58]
addss xmm0, dword [edi + 0x5c]
cmp byte [ebp - 0x2a], 0
jne 0x1000ba13
movaps xmm5, xmm2
cmp byte [ebp - 0x21], 0
jne 0x1000ba1c
movaps xmm4, xmm3
mov eax, dword [ebp - 0x28]
test eax, 0x4000
jne 0x1000ba33
comiss xmm0, xmm4
jbe 0x1000ba2f
test al, 8
je 0x1000ba33
xor cl, cl
jmp 0x1000ba35
mov cl, 1
mov byte [edi + 0xc1], cl
test eax, 0x8000
jne 0x1000ba80
test cl, cl
je 0x1000ba56
mov eax, dword [ebp - 0x38]
movss xmm2, dword [eax + 0x38c8]
mov eax, dword [ebp - 0x28]
jmp 0x1000ba59
xorps xmm2, xmm2
subss xmm5, xmm2
comiss xmm1, xmm5
jbe 0x1000ba6e
and eax, 0x808
cmp eax, 0x800
je 0x1000ba7d
mov eax, dword [ebp - 0x38]
xorps xmm1, xmm1
mov byte [edi + 0xc0], 0
jmp 0x1000baab
mov eax, dword [ebp - 0x28]
mov byte [edi + 0xc0], 1
test cl, cl
jne 0x1000baa0
comiss xmm0, xmm4
jbe 0x1000ba98
test al, 8
jne 0x1000ba98
mov cl, 1
jmp 0x1000ba9a
xor cl, cl
mov byte [edi + 0xc1], cl
mov eax, dword [ebp - 0x38]
movss xmm1, dword [eax + 0x38c8]
test cl, cl
je 0x1000bab9
movss xmm0, dword [eax + 0x38c8]
jmp 0x1000babc
xorps xmm0, xmm0
movss dword [edi + 0xb8], xmm0
movss dword [edi + 0xbc], xmm1
mov eax, dword [ebp - 0x28]
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1000baee
cmp dword [ebp - 0x54], 0x3000000
je 0x1000baee
mov eax, dword [ebp - 0x44]
add eax, 0x22c
jmp 0x1000baf4
lea eax, [ebp - 0x90]
test byte [edi + 8], 1
movups xmm0, xmmword [eax]
mov ecx, dword [0x1012ab58]
movss xmm3, dword [edi + 0x40]
movss xmm6, dword [edi + 0x44]
movaps xmm4, xmm3
addss xmm4, dword [edi + 0x48]
movaps xmm5, xmm6
addss xmm5, dword [edi + 0x4c]
movups xmmword [ebp - 0xd0], xmm0
je 0x1000bb29
xorps xmm2, xmm2
jmp 0x1000bb63
movss xmm0, dword [ecx + 0x3c9c]
mulss xmm0, dword [edi + 0x27c]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x1000bb53
mulss xmm0, dword [eax + 0x27c]
movss xmm2, dword [ecx + 0x3894]
addss xmm2, xmm2
addss xmm2, xmm0
movss xmm0, dword [edi + 0x44]
addss xmm2, xmm6
movaps xmm1, xmm3
movss dword [ebp - 0xb0], xmm3
addss xmm1, dword [edi + 0x50]
movss dword [ebp - 0xac], xmm0
movss dword [ebp - 0xa4], xmm2
movss dword [ebp - 0xa8], xmm1
movss dword [edi + 0x1dc], xmm3
movss dword [edi + 0x1e0], xmm6
movss dword [edi + 0x1e4], xmm4
movss dword [edi + 0x1e8], xmm5
test byte [edi + 0x36d], 1
je 0x1000bbd0
mov ecx, edi
call fcn.100257e0
fadd dword [edi + 0x1e0]
fstp dword [edi + 0x1e0]
movss xmm1, dword [edi + 0x1dc]
movss xmm0, dword [edi + 0x1e0]
movss xmm4, dword [ebp - 0xd0]
movss xmm5, dword [ebp - 0xcc]
maxss xmm1, xmm4
mov eax, dword [ebp - 0x28]
maxss xmm0, xmm5
mov edx, dword [ebp - 0x38]
and eax, 0x401
movss dword [edi + 0x1dc], xmm1
movss dword [edi + 0x1e0], xmm0
movss xmm0, dword [edi + 0x1e8]
movss xmm1, dword [edi + 0x1e4]
minss xmm0, dword [ebp - 0xc4]
minss xmm1, dword [ebp - 0xc8]
movss dword [edi + 0x1e8], xmm0
movss dword [edi + 0x1e4], xmm1
movss xmm7, dword [edi + 0x40]
movss xmm6, dword [edi + 0x44]
movss dword [edi + 0x1ec], xmm7
movaps xmm0, xmm6
addss xmm7, dword [edi + 0x48]
addss xmm6, dword [edi + 0x4c]
addss xmm0, dword [ebp - 0x50]
subss xmm7, dword [edi + 0xb8]
subss xmm6, dword [edi + 0xbc]
movss dword [ebp - 0x60], xmm0
movss dword [edi + 0x1f0], xmm0
movss dword [edi + 0x1f4], xmm7
movss dword [edi + 0x1f8], xmm6
cmp eax, 1
jne 0x1000bca0
movss xmm0, dword [edi + 0x7c]
jmp 0x1000bca8
movss xmm0, dword [edx + 0x389c]
movss xmm2, dword [0x1009e38c]
movss dword [ebp - 0x30], xmm0
addss xmm7, xmm2
movss xmm0, dword [edi + 0x70]
addss xmm6, xmm2
mulss xmm0, xmm2
movss xmm3, dword [ebp - 0xc4]
cvttss2si eax, xmm0
movss xmm0, dword [edi + 0x40]
addss xmm0, xmm2
subss xmm6, dword [edi + 0x7c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [edi + 0x7c]
addss xmm0, xmm1
subss xmm7, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1fc], xmm0
movss xmm0, dword [ebp - 0x60]
addss xmm0, xmm2
addss xmm0, dword [ebp - 0x30]
cvttss2si ecx, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm7
movss dword [edi + 0x200], xmm0
movd xmm0, ecx
cvttss2si ecx, xmm6
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x204], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x208], xmm0
movss xmm0, dword [edi + 0x200]
comiss xmm5, xmm0
jbe 0x1000bd60
movaps xmm1, xmm5
jmp 0x1000bd67
movaps xmm1, xmm3
minss xmm1, xmm0
movss xmm6, dword [ebp - 0xc8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm4, xmm2
jbe 0x1000bd80
movaps xmm0, xmm4
jmp 0x1000bd87
movaps xmm0, xmm6
minss xmm0, xmm2
movss dword [edi + 0x1fc], xmm0
movss dword [edi + 0x200], xmm1
movss xmm0, dword [edi + 0x208]
comiss xmm5, xmm0
ja 0x1000bdab
movaps xmm5, xmm3
minss xmm5, xmm0
movss xmm0, dword [edi + 0x204]
comiss xmm4, xmm0
ja 0x1000bdbf
movaps xmm4, xmm6
minss xmm4, xmm0
movss dword [edi + 0x204], xmm4
xorps xmm2, xmm2
movss dword [edi + 0x208], xmm5
movss xmm0, dword [edi + 0x48]
comiss xmm0, xmm2
jbe 0x1000bdef
test dword [ebp - 0x28], 0x2000040
jne 0x1000bdef
mulss xmm0, dword [0x1009fff0]
jmp 0x1000bdff
movss xmm0, dword [edx + 0x3c98]
mulss xmm0, dword [0x100a005c]
cvttss2si eax, xmm0
push edi
movd xmm0, eax
lea eax, [ebp - 0x98]
cvtdq2ps xmm0, xmm0
push eax
movss dword [edi + 0x260], xmm0
movss xmm1, dword [edi + 0x70]
movss xmm0, dword [edi + 0x1f4]
addss xmm1, xmm1
subss xmm0, dword [edi + 0x1ec]
addss xmm1, dword [edi + 0x58]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss xmm1, dword [edi + 0x74]
addss xmm1, xmm1
movss dword [edi + 0x98], xmm0
movss xmm0, dword [edi + 0x1f8]
subss xmm0, dword [edi + 0x1f0]
addss xmm1, dword [edi + 0x5c]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [edi + 0x9c], xmm0
call fcn.1000e380
mov ecx, dword [edi + 0x288]
add esp, 8
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mov eax, dword [ebp - 0x38]
movss dword [edi + 0x90], xmm0
movss dword [edi + 0x94], xmm1
mov dword [edi + 0xa0], 0x7f7fffff
mov dword [edi + 0xa4], 0x7f7fffff
mov eax, dword [eax + 0x3c94]
mov eax, dword [eax + 0x30]
push dword [eax + 4]
call fcn.10030140
mov ecx, dword [0x1012ab58]
push 0
mov eax, dword [ecx + 0x3f04]
mov byte [eax + 0xc5], 1
lea eax, [ebp - 0xc8]
mov edi, dword [ecx + 0x3f04]
push eax
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [edi + 0x288]
call fcn.10030010
mov eax, dword [edi + 0x288]
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 [edi + 0x22c], eax
movss dword [edi + 0x230], xmm0
movss dword [edi + 0x234], xmm1
movss dword [edi + 0x238], xmm2
mov edi, dword [ebp - 0x4c]
mov al, byte [edi + 0x36d]
and al, 5
cmp al, 1
je 0x1000c0d6
mov eax, dword [ebp - 0x28]
and eax, 0x5000000
mov byte [ebp - 0x2a], 0
cmp eax, 0x1000000
jne 0x1000c053
cmp dword [ebp - 0x54], 0x3000000
je 0x1000c053
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x19c]
cmp ecx, 2
jl 0x1000c01b
mov eax, dword [eax + 0x1a4]
mov eax, dword [eax + ecx*4 - 8]
test eax, eax
je 0x1000c01b
movss xmm1, dword [eax + 0x40]
lea ecx, [ebp - 0xc0]
movss xmm0, dword [eax + 0x44]
movss dword [ebp - 0xc0], xmm1
addss xmm1, dword [eax + 0x48]
movss dword [ebp - 0xbc], xmm0
addss xmm0, dword [eax + 0x4c]
lea eax, [ebp - 0x90]
push eax
movss dword [ebp - 0xb8], xmm1
movss xmm1, dword [edi + 0x40]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [edi + 0x44]
movss dword [ebp - 0x90], xmm1
addss xmm1, dword [edi + 0x48]
movss dword [ebp - 0x8c], xmm0
addss xmm0, dword [edi + 0x4c]
movss dword [ebp - 0x88], xmm1
movss dword [ebp - 0x84], xmm0
call fcn.10020a80
mov byte [ebp - 0x21], al
jmp 0x1000c01f
mov byte [ebp - 0x21], 0
mov edx, dword [edi + 0x288]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x1000c053
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x288]
cmp dword [eax + 0x18], 0
jle 0x1000c053
cmp byte [ebp - 0x21], 0
jne 0x1000c053
mov byte [ebp - 0x2a], 1
mov dword [edi + 0x288], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x4274]
test ecx, ecx
jne 0x1000c066
mov ecx, dword [eax + 0x4124]
cmp byte [ebp - 0x48], 0
jne 0x1000c096
test ecx, ecx
je 0x1000c090
mov eax, dword [edi + 0x330]
cmp eax, dword [ecx + 0x330]
je 0x1000c096
mov eax, dword [edi + 0x388]
test eax, eax
je 0x1000c090
cmp eax, dword [ecx + 0x388]
je 0x1000c096
mov byte [ebp - 0x30], 0
jmp 0x1000c09a
mov byte [ebp - 0x30], 1
movd xmm0, esi
lea eax, [ebp - 0x20]
push ecx
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
push dword [ebp - 0x3c]
lea eax, [ebp - 0xb0]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push eax
push edi
call fcn.100230e0
add esp, 0x1c
cmp byte [ebp - 0x2a], 0
je 0x1000c0d6
lea eax, [edi + 0x28c]
mov dword [edi + 0x288], eax
mov ecx, dword [ebp - 0x28]
xorps xmm2, xmm2
movss xmm5, dword [edi + 0x68]
mov edx, ecx
shr edx, 3
not dl
and dl, 1
ucomiss xmm5, xmm2
lahf
test ah, 0x44
jnp 0x1000c0f9
movaps xmm7, xmm5
jmp 0x1000c12f
movss xmm0, dword [edi + 0x70]
mov eax, ecx
movss xmm1, dword [edi + 0x48]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
subss xmm1, dword [edi + 0xb8]
cmp eax, 0x800
jne 0x1000c128
movss xmm7, dword [edi + 0x58]
jmp 0x1000c12b
xorps xmm7, xmm7
maxss xmm7, xmm1
movss xmm4, dword [edi + 0x6c]
ucomiss xmm4, xmm2
lahf
test ah, 0x44
jnp 0x1000c142
movaps xmm6, xmm4
jmp 0x1000c173
movss xmm0, dword [edi + 0x74]
movss xmm1, dword [edi + 0x4c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [ebp - 0x50]
subss xmm1, dword [edi + 0xbc]
test dl, dl
je 0x1000c16c
movss xmm6, dword [edi + 0x5c]
jmp 0x1000c16f
xorps xmm6, xmm6
maxss xmm6, xmm1
movss xmm1, dword [edi + 0x70]
movss xmm2, dword [edi + 0x90]
movss xmm0, dword [edi + 0x1ec]
subss xmm0, xmm2
movss dword [ebp - 0x60], xmm1
maxss xmm1, dword [edi + 0x7c]
movss dword [ebp - 0x30], xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [edi + 0x20c], xmm2
addss xmm7, xmm2
movss xmm0, dword [edi + 0x94]
movss xmm1, dword [edi + 0x74]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [edi + 0x1f0]
subss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x74], xmm1
maxss xmm1, dword [edi + 0x7c]
movss xmm2, dword [ebp - 0x74]
addss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [ebp - 0x60]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm6, xmm0
movss dword [edi + 0x210], xmm0
movss dword [edi + 0x214], xmm7
xorps xmm7, xmm7
ucomiss xmm5, xmm7
movss dword [edi + 0x218], xmm6
movups xmm0, xmmword [edi + 0x20c]
lahf
movups xmmword [edi + 0x21c], xmm0
movss xmm0, dword [edi + 0x40]
movss dword [ebp - 0x54], xmm0
movaps xmm3, xmm0
subss xmm3, dword [ebp - 0x30]
addss xmm3, xmm1
movss dword [edi + 0x23c], xmm3
movss xmm0, dword [edi + 0x44]
movss dword [ebp - 0x60], xmm0
movaps xmm6, xmm0
subss xmm6, dword [ebp - 0x4c]
addss xmm6, xmm2
addss xmm6, dword [ebp - 0x50]
movss dword [edi + 0x240], xmm6
test ah, 0x44
jp 0x1000c287
movss xmm5, dword [edi + 0x48]
movaps xmm0, xmm1
addss xmm0, xmm1
subss xmm5, xmm0
subss xmm5, dword [edi + 0xb8]
ucomiss xmm4, xmm7
addss xmm5, xmm3
lahf
movss dword [edi + 0x244], xmm5
test ah, 0x44
jp 0x1000c2b9
movss xmm4, dword [edi + 0x4c]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm4, xmm0
subss xmm4, dword [ebp - 0x50]
subss xmm4, dword [edi + 0xbc]
movaps xmm0, xmm1
mov esi, dword [ebp - 0x38]
addss xmm0, xmm7
addss xmm4, xmm6
cvtps2pd xmm3, xmm1
movss dword [edi + 0x248], xmm4
movss xmm4, dword [ebp - 0x30]
subss xmm0, xmm4
cvtps2pd xmm2, xmm2
movss dword [edi + 0x14c], xmm0
movss xmm0, dword [ebp - 0x54]
cvtps2pd xmm0, xmm0
mov dword [edi + 0x154], 0
mov dword [edi + 0x150], 0
push dword [ebp - 0x68]
addsd xmm3, xmm0
cvtps2pd xmm0, xmm4
push ecx
lea ecx, [edi + 0x178]
subsd xmm3, xmm0
movss xmm0, dword [ebp - 0x60]
cvtps2pd xmm0, xmm0
addsd xmm3, qword [0x1009ffb8]
addsd xmm2, xmm0
movss xmm0, dword [ebp - 0x4c]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [ebp - 0x50]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm3
cvtpd2ps xmm1, xmm2
movss dword [edi + 0x118], xmm0
movss dword [edi + 0x11c], xmm1
movss xmm0, dword [edi + 0x118]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm0
movss xmm0, dword [edi + 0x11c]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm1, xmm3
subsd xmm2, xmm0
movss dword [edi + 0x158], xmm1
cvtpd2ps xmm0, xmm2
movss dword [edi + 0x15c], xmm0
movss xmm1, dword [edi + 0x118]
movss xmm0, dword [edi + 0x11c]
movss dword [edi + 0x108], xmm1
movss dword [edi + 0x10c], xmm0
movss dword [edi + 0x110], xmm1
movss dword [edi + 0x114], xmm0
movss dword [edi + 0x120], xmm1
movss dword [edi + 0x124], xmm0
movss dword [edi + 0x128], xmm1
movss dword [edi + 0x12c], xmm0
mov dword [edi + 0x138], 0
mov dword [edi + 0x13c], 0
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 0
mov dword [edi + 0x144], 0
mov dword [edi + 0x140], 0
mov byte [edi + 0x148], 0
mov dword [edi + 0x160], 0
mov ax, word [edi + 0x166]
mov word [edi + 0x164], ax
mov byte [edi + 0x16c], 0
movss xmm0, dword [edi + 0x9c]
comiss xmm0, xmm7
seta al
mov byte [edi + 0x16d], al
mov byte [edi + 0x16e], 0
movss xmm0, dword [esi + 0x38a0]
movss dword [esp], xmm0
call fcn.1004ca30
mov dword [edi + 0x194], 0
lea eax, [edi + 0x19c]
mov dword [edi + 0x198], 0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1000c4b3
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 + 0x19c]
call fcn.10029e40
lea eax, [edi + 0x19c]
mov dword [eax], 0
lea eax, [edi + 0x264]
mov dword [edi + 0x1a8], eax
mov eax, dword [ebp - 0x44]
mov dword [edi + 0x1ac], 0
mov dword [edi + 0x1b4], 1
test eax, eax
je 0x1000c4e8
mov eax, dword [eax + 0x1b4]
jmp 0x1000c4ed
mov eax, 1
mov dword [edi + 0x1b8], eax
mov eax, dword [edi + 0x260]
mov dword [edi + 0x1bc], eax
lea eax, [edi + 0x1c4]
mov dword [edi + 0x1c0], 0xbf800000
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1000c538
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 + 0x1c4]
call fcn.10029e40
lea eax, [edi + 0x1c4]
mov dword [eax], 0
lea eax, [edi + 0x1d0]
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1000c56d
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 + 0x1d0]
call fcn.10029e40
lea eax, [edi + 0x1d0]
mov dword [eax], 0
mov al, byte [edi + 0xdc]
test al, al
jle 0x1000c585
dec al
mov byte [edi + 0xdc], al
mov al, byte [edi + 0xdd]
test al, al
jle 0x1000c597
dec al
mov byte [edi + 0xdd], al
cmp byte [ebp - 0x48], 0
je 0x1000c5ae
push edi
call fcn.10018f50
push 0
push edi
call fcn.1001c0f0
add esp, 0xc
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x1000c607
mov ecx, dword [edi + 0x2c]
cmp byte [ecx + 0x46], 0
je 0x1000c607
mov eax, dword [0x1012ab58]
mov eax, dword [eax + 0x40e4]
cmp ecx, dword [eax]
je 0x1000c604
mov al, byte [edi + 0x36d]
and al, 5
cmp al, 1
je 0x1000c604
mov byte [ecx + 0x46], 0
test byte [esi + 0x53e8], 0x40
mov byte [esi + 0x4288], 0
je 0x1000c5fc
push dword [edi]
push str._viewport__Window__s_PlatformRequestClose_n
call fcn.1000fd70
add esp, 8
mov eax, dword [ebp - 0x6c]
mov byte [eax], 0
jmp 0x1000c607
mov eax, dword [ebp - 0x6c]
test byte [ebp - 0x28], 1
jne 0x1000c674
test byte [edi + 0x36d], 1
jne 0x1000c674
movss xmm0, dword [ebp - 0xb0]
addss xmm0, dword [edi + 0x7c]
push eax
push dword [ebp - 0x70]
lea eax, [ebp - 0x90]
push eax
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [edi + 0x7c]
push edi
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x84], xmm0
call fcn.10023da0
add esp, 0x10
xor eax, eax
mov dword [edi + 0x24c], eax
test byte [esi + 8], 0x40
je 0x1000c6eb
cmp dword [esi + 0x3f14], edi
jne 0x1000c6ad
mov al, byte [esi + 0x59]
cmp al, byte [esi + 0xd75]
jne 0x1000c6ad
mov eax, dword [edi + 0x32c]
test dword [eax + 8], 0x200000
jne 0x1000c6ad
push edi
call fcn.1000ce50
add esp, 4
cmp byte [esi + 0x4294], 0
je 0x1000c6eb
test dword [ebp - 0x28], 0x200000
jne 0x1000c6eb
mov eax, dword [esi + 0x3f14]
test eax, eax
je 0x1000c6d1
cmp dword [eax + 0x32c], edi
je 0x1000c6eb
cmp edi, dword [edi + 0x32c]
jne 0x1000c6eb
test dword [edi + 8], 0x20000000
jne 0x1000c6eb
push edi
call fcn.1000d060
add esp, 4
test byte [edi + 0x36d], 1
je 0x1000c734
mov ecx, dword [esi + 0x3f9c]
mov esi, dword [0x1012ab58]
mov edx, dword [edi + 0x394]
mov eax, dword [edi + 0x84]
mov dword [esi + 0x3fb4], eax
mov dword [esi + 0x3fb8], ecx
mov dword [esi + 0x3fbc], edx
movups xmm0, xmmword [edi + 0x398]
movups xmmword [esi + 0x3fc0], xmm0
mov esi, dword [ebp - 0x38]
jmp 0x1000c8e1
mov edx, dword [0x1012ab58]
movss xmm1, dword [ebp - 0xb0]
movss xmm6, dword [ebp - 0xa8]
movss xmm7, dword [ebp - 0xa4]
movss xmm2, dword [edx + 0x38b8]
movss xmm0, dword [edx + 0x38bc]
subss xmm1, xmm2
movss xmm5, dword [edx + 0xd58]
movaps xmm3, xmm2
movss xmm2, dword [ebp - 0xac]
addss xmm3, xmm6
movaps xmm4, xmm0
subss xmm2, xmm0
addss xmm4, xmm7
comiss xmm5, xmm1
jb 0x1000c7e7
movss xmm0, dword [edx + 0xd5c]
comiss xmm0, xmm2
jb 0x1000c7e7
comiss xmm3, xmm5
jbe 0x1000c7e7
comiss xmm4, xmm0
jbe 0x1000c7e7
mov eax, dword [edx + 0x40f0]
movss xmm3, dword [eax + 0xc]
movss xmm2, dword [eax + 8]
movaps xmm0, xmm3
addss xmm0, dword [eax + 0x14]
movaps xmm1, xmm2
addss xmm1, dword [eax + 0x10]
comiss xmm0, dword [ebp - 0xac]
jbe 0x1000c7e7
comiss xmm7, xmm3
jbe 0x1000c7e7
comiss xmm1, dword [ebp - 0xb0]
jbe 0x1000c7e7
comiss xmm6, xmm2
mov dword [ebp - 0x4c], 1
ja 0x1000c7ee
mov dword [ebp - 0x4c], 0
mov eax, dword [edi + 0x84]
mov ecx, dword [esi + 0x3f9c]
mov dword [edx + 0x3fb4], eax
mov eax, dword [ebp - 0x4c]
mov dword [edx + 0x3fb8], ecx
mov dword [edx + 0x3fbc], eax
movups xmm0, xmmword [ebp - 0xb0]
movups xmmword [edx + 0x3fc0], xmm0
jmp 0x1000c8e1
mov ecx, dword [edi + 0x2c]
mov edx, dword [0x1012ab58]
test ecx, ecx
je 0x1000c838
mov eax, dword [edx + 0x3ea0]
mov dword [ecx + 0x4c], eax
cmp dword [edx + 0x40ec], ecx
je 0x1000c875
test ecx, ecx
je 0x1000c865
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x40e8], eax
mov eax, dword [edx + 0x3808]
mov dword [edx + 0x40ec], ecx
test eax, eax
je 0x1000c875
push ecx
call eax
add esp, 4
jmp 0x1000c875
mov dword [edx + 0x40e8], 0x3f800000
mov dword [edx + 0x40ec], ecx
mov ecx, dword [0x1012ab58]
mov dword [ecx + 0x3f04], edi
mov eax, dword [edi + 0x1b0]
cmp eax, 0xffffffff
je 0x1000c89a
imul eax, eax, 0x1d8
add eax, dword [ecx + 0x4350]
jmp 0x1000c89c
xor eax, eax
mov dword [ecx + 0x4334], eax
mov eax, dword [0x1012ab58]
movss xmm0, dword [eax + 0x3c9c]
mulss xmm0, dword [edi + 0x27c]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x1000c8d1
mulss xmm0, dword [eax + 0x27c]
movss dword [ecx + 0x3cac], xmm0
movss dword [ecx + 0x3c98], xmm0
mov ecx, dword [ebp - 0x28]
test ecx, 0x1000000
je 0x1000c8f7
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x168]
jmp 0x1000c93f
mov ecx, dword [edi + 0xfc]
mov eax, dword [edi + 0x104]
push dword [eax + ecx*4 - 4]
push 0
push str.FOCUSSCOPE
call fcn.1001a330
mov ecx, dword [0x1012ab58]
add esp, 0xc
mov dword [ebp - 0x60], eax
cmp dword [ecx + 0x3f28], eax
jne 0x1000c93c
push 0
push str.FOCUSSCOPE
push 0xb
push eax
call fcn.1000fb50
mov eax, dword [ebp - 0x60]
add esp, 0x10
mov ecx, dword [ebp - 0x28]
mov dword [edi + 0x168], eax
test ecx, 0x20000000
jne 0x1000c968
push 1
lea eax, [edi + 0x204]
push eax
lea eax, [edi + 0x1fc]
push eax
call fcn.10020dd0
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov byte [edi + 0xc5], 0
inc word [edi + 0xd0]
mov dword [esi + 0x3ff0], 0
cmp eax, dword [ebp - 0x5c]
je 0x1000cb1e
mov al, byte [edi + 0x36d]
and al, 5
cmp al, 1
jne 0x1000c9b6
mov eax, dword [edi + 0x258]
cmp eax, dword [esi + 0x3ea0]
jne 0x1000c9af
mov byte [edi + 0xe5], 1
jmp 0x1000c9b6
mov byte [edi + 0xe4], 1
test ecx, 0x1000000
je 0x1000ca7f
test cl, 0x40
jne 0x1000ca46
cmp byte [edi + 0xdc], 0
jg 0x1000ca46
cmp byte [edi + 0xdd], 0
jg 0x1000ca46
test ecx, 0x800000
je 0x1000ca0e
cmp byte [esi + 0x4164], 0
je 0x1000ca0e
mov eax, dword [esi + 0x4124]
test eax, eax
je 0x1000ca0e
mov eax, dword [eax + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x1000ca0e
mov al, 1
jmp 0x1000ca10
xor al, al
cmp byte [esi + 0x53b4], 0
jne 0x1000ca46
test al, al
jne 0x1000ca46
movss xmm0, dword [edi + 0x1dc]
comiss xmm0, dword [edi + 0x1e4]
jae 0x1000ca3f
movss xmm0, dword [edi + 0x1e0]
comiss xmm0, dword [edi + 0x1e8]
jb 0x1000ca46
mov byte [edi + 0xe4], 1
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x1000ca7f
cmp byte [eax + 0xc6], 0
jne 0x1000ca5f
cmp byte [eax + 0xe4], 0
jle 0x1000ca66
mov byte [edi + 0xe4], 1
cmp byte [eax + 0xc6], 0
jne 0x1000ca78
cmp byte [eax + 0xe5], 0
jle 0x1000ca7f
mov byte [edi + 0xe5], 1
xorps xmm0, xmm0
comiss xmm0, dword [esi + 0x3854]
jb 0x1000ca92
mov byte [edi + 0xe4], 1
cmp byte [edi + 0xe4], 0
jg 0x1000cab2
cmp byte [edi + 0xe5], 0
jg 0x1000cab2
xor cl, cl
cmp byte [edi + 0xe6], cl
jg 0x1000cab4
xor al, al
jmp 0x1000cab6
mov cl, 1
mov al, 1
mov byte [edi + 0xca], al
mov al, byte [edi + 0xe7]
test al, al
jle 0x1000cad5
dec al
mov byte [edi + 0xe7], al
or dword [edi + 8], 0xc0200
xor al, al
cmp byte [edi + 0xc6], al
jne 0x1000caeb
cmp byte [edi + 0xc3], al
je 0x1000caeb
test cl, cl
je 0x1000cb0f
cmp byte [edi + 0xdc], 0
jg 0x1000cb0f
cmp byte [edi + 0xdd], 0
jg 0x1000cb0f
cmp byte [edi + 0xe5], 0
jg 0x1000cb0f
mov byte [edi + 0xc8], 1
jmp 0x1000cb1e
mov byte [edi + 0xc8], al
xor eax, eax
mov word [edi + 0x166], ax
cmp byte [edi + 0xc8], 0
mov ecx, dword [ebp - 4]
sete al
xor ecx, ebp
pop edi
pop esi
call fcn.10074548
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret