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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5986f5
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x5e000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss dword [ebp - 0xcc], xmm3
mov edi, ecx
mov dword [ebp - 0xac], edi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd0], ecx
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], 0
call fcn.00412850
mov edx, dword [edi + 0x1a8]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x70], eax
lea eax, [edi + 0x1a8]
mov dword [eax + 4], edx
cmp ecx, eax
je 0x43a84d
mov ecx, dword [eax + 8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
test edx, edx
je 0x43a84d
sub ecx, edx
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x43a843
mov esi, dword [edx - 4]
add ecx, 0x23
sub edx, esi
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x43c27f
mov edx, esi
push ecx
push edx
call fcn.0052f847
add esp, 8
mov ecx, dword [edi + 0x1b4]
lea eax, [edi + 0x1b4]
lea edx, [ebp - 0x108]
mov dword [eax + 4], ecx
cmp edx, eax
je 0x43a8c2
mov edx, dword [eax + 8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
test ecx, ecx
je 0x43a8c2
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
shl edx, 2
cmp edx, 0x1000
jb 0x43a8b8
mov esi, dword [ecx - 4]
add edx, 0x23
sub ecx, esi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x43c27f
mov ecx, esi
push edx
push ecx
call fcn.0052f847
add esp, 8
mov eax, dword [edi + 0x84]
movss xmm2, dword [0x5e00c8]
mov dword [ebp - 0x104], eax
mov esi, dword [ebp + 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x78], 0
mulss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x88]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xb4], eax
mulss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax], 0
cmp dword [edi + 0x80], 0
movups xmm0, xmmword [edi + 0xd8]
movups xmmword [ebp - 0xc8], xmm0
movups xmm0, xmmword [edi + 0x118]
movups xmmword [ebp - 0x128], xmm0
jne 0x43c2f2
movd xmm1, dword [edi + 0x90]
mov ecx, edi
movd xmm0, dword [edi + 0x8c]
cvtdq2ps xmm1, xmm1
push esi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
mulss xmm0, xmm2
addss xmm1, dword [ebp - 0xcc]
movss dword [ebp - 0x4c], xmm0
movss dword [edi + 0x16c], xmm1
call fcn.0043a710
test eax, eax
je 0x43a9a6
movd xmm0, dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
cmp eax, ecx
cmovle eax, ecx
jmp 0x43a9ac
mov eax, dword [edi + 0xb8]
movd xmm0, eax
mov eax, dword [edi + 0x94]
sub eax, dword [edi + 0x8c]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x5c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5e00c8]
call fcn.00582da0
movzx ecx, word [edi + 0x60]
mov dword [ebp - 0xb0], eax
cmp cx, 1
jne 0x43aa2c
mov ecx, eax
shr ecx, 1
push esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x5c9490]
mov ecx, edi
cvtpd2ps xmm5, xmm0
addss xmm5, dword [ebp - 0x4c]
call fcn.0043a6b0
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm0
movss dword [ebp - 0x4c], xmm5
jmp 0x43aa5e
cmp cx, 2
jne 0x43aa59
movd xmm0, eax
mov ecx, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push esi
addsd xmm0, qword [eax*8 + 0x5c9490]
cvtpd2ps xmm5, xmm0
addss xmm5, dword [ebp - 0x4c]
call fcn.0043a6b0
jmp 0x43aa1a
movss xmm5, dword [ebp - 0x4c]
movss dword [edi + 0x168], xmm5
mov eax, 0x92492493
mov ecx, dword [edi + 0x1a0]
movaps xmm4, xmm5
sub ecx, dword [edi + 0x19c]
imul ecx
movss dword [ebp - 0x80], xmm4
mov dword [ebp - 0x64], 0
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0x98], eax
test esi, esi
je 0x43aac4
push esi
lea eax, [ebp - 0xd8]
mov ecx, edi
push eax
call fcn.0043a640
mov eax, dword [ebp - 0xd8]
movzx ecx, si
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x78], ecx
or edx, 0xffffffff
mov dword [ebp - 0x50], edx
cmp eax, dword [ebp - 0x7c]
jae 0x43c28a
mov esi, dword [edi + 0x19c]
lea edx, [eax*8]
movss xmm4, dword [0x5c8f28]
sub edx, eax
movss xmm1, dword [0x5c925c]
shl edx, 2
mov dword [ebp - 0x48], edx
movzx eax, word [esi + edx]
mov ecx, eax
cmp word [ebp - 0x78], ax
je 0x43acbe
movd xmm1, dword [edi + 0x8c]
movzx eax, word [edi + 0x60]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5e00c8]
movaps xmm5, xmm1
movss dword [ebp - 0x4c], xmm5
cmp ax, 1
jne 0x43ab63
mov eax, dword [ebp - 0xb0]
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
movsx eax, cx
mov ecx, edi
push eax
cvtpd2ps xmm5, xmm0
addss xmm5, xmm1
call fcn.0043a6b0
cdq
sub eax, edx
sar eax, 1
jmp 0x43ab97
cmp ax, 2
jne 0x43abaa
mov eax, dword [ebp - 0xb0]
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
movsx eax, word [edx + esi]
push eax
cvtpd2ps xmm1, xmm0
addss xmm5, xmm1
call fcn.0043a6b0
mov edx, dword [ebp - 0x48]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm0
movss dword [ebp - 0x4c], xmm5
movss xmm0, dword [edi + 0x168]
comiss xmm0, xmm5
jbe 0x43abbf
movss dword [edi + 0x168], xmm5
movsx eax, word [edx + esi]
mov ecx, edi
push eax
call fcn.0043a710
test eax, eax
je 0x43abf3
movd xmm0, dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
cmp eax, ecx
cmovle eax, ecx
jmp 0x43abf9
mov eax, dword [edi + 0xb8]
mov edx, dword [edi + 0x78]
movd xmm1, eax
mov eax, dword [ebp - 0x78]
movsx ecx, ax
cvtdq2ps xmm1, xmm1
cmp ecx, edx
jae 0x43ac29
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43ac2b
xor eax, eax
movd xmm0, eax
mov eax, dword [ebp - 0x48]
cvtdq2ps xmm2, xmm0
movzx eax, word [eax + esi]
mov ecx, eax
mov dword [ebp - 0x54], ecx
addss xmm2, xmm1
movsx ecx, ax
addss xmm2, dword [ebp - 0x5c]
movss dword [ebp - 0x5c], xmm2
cmp ecx, edx
jae 0x43ac6f
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43ac71
xor eax, eax
movd xmm1, eax
mov ecx, 1
mov eax, dword [edi + 0x98]
add eax, dword [edi + 0x90]
cvtdq2ps xmm1, xmm1
mov edx, dword [ebp - 0x48]
movd xmm0, eax
mov eax, dword [ebp - 0x64]
addss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5e00c8]
comiss xmm1, xmm0
movss xmm1, dword [0x5c925c]
cmova eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x54]
movzx eax, ax
mov dword [ebp - 0x78], eax
jmp 0x43acc3
movss xmm2, dword [ebp - 0x5c]
cmp dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x50]
jne 0x43acf2
lea eax, [edx + esi]
movsx eax, word [eax]
cmp ecx, eax
je 0x43acf2
mov eax, dword [ebp - 0xd0]
inc dword [eax]
mov esi, dword [edi + 0x19c]
movsx ecx, word [esi + edx]
movzx eax, word [esi + edx + 6]
mov dword [ebp - 0x50], ecx
jmp 0x43acf7
movzx eax, word [edx + esi + 6]
test ax, ax
je 0x43ad78
shr ax, 0xc
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0xc8], xmm0
mov al, byte [edx + esi + 7]
and al, 0xf
cbw
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0xc4], xmm0
movzx eax, word [edx + esi + 6]
sar ax, 4
and ax, 0xf
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0xc0], xmm0
movzx eax, word [edx + esi + 6]
and ax, 0xf
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ebp - 0xbc], xmm0
jmp 0x43ad89
movups xmm0, xmmword [edi + 0xd8]
mov dword [ebp - 0x50], ecx
movups xmmword [ebp - 0xc8], xmm0
cmp byte [edx + esi + 0x18], 0
jne 0x43b5ab
mov ecx, dword [ebp - 0x98]
xor eax, eax
mov dword [ebp - 0x40], 0
mov word [ebp - 0x40], ax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
cmp eax, ecx
jb 0x43d5f4
sub eax, ecx
mov esi, 1
cmp eax, esi
cmovb esi, eax
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x43add6
mov eax, dword [edi]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x54], eax
cmp esi, 7
ja 0x43ae09
mov dword [ebp - 0x30], esi
add esi, esi
push esi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00582b6f
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x40], ax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
jmp 0x43ae67
cmp esi, 0x7ffffffe
ja 0x43d5ef
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x43ae28
mov eax, 0x7ffffffe
jmp 0x43ae33
cmp eax, 0xa
mov ecx, 0xa
cmovb eax, ecx
mov dword [ebp - 0x6c], eax
inc eax
push eax
call fcn.00403c90
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], esi
add esi, esi
push esi
push dword [ebp - 0x54]
mov dword [ebp - 0x68], eax
push eax
mov dword [ebp - 0x2c], ecx
call fcn.00582b4b
mov edx, dword [ebp - 0x68]
add esp, 0xc
mov ecx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x40], edx
mov word [esi + edx], ax
or dword [ebp - 0x84], 1
cmp ecx, 8
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x40]
cmovae eax, edx
setae byte [ebp - 0x41]
movzx eax, word [eax]
mov dword [ebp - 0x74], eax
mov eax, dword [edi + 0x19c]
movsx edx, word [ecx + eax]
cmp edx, dword [edi + 0x78]
jae 0x43aec5
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 0x184]
movd xmm0, dword [eax + edx*4]
mov ecx, dword [ecx + edx*4]
mov eax, dword [edi + 0x19c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si esi, xmm0
jmp 0x43aec9
xor esi, esi
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x58], esi
mov esi, dword [ebp - 0x48]
movsx eax, word [eax + edx + 0xc]
mov edx, dword [edi + 0x19c]
sub eax, dword [esi + edx + 0x14]
sub eax, ecx
add eax, dword [ebp - 0x58]
cmp dword [ebp - 0x64], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x88], xmm0
jne 0x43b34d
mov eax, esi
movzx eax, word [eax + edx + 4]
mov esi, eax
test ax, ax
js 0x43b26d
mov ecx, dword [0x5e6668]
mov eax, ecx
mov edx, dword [0x5e666c]
cmp eax, edx
je 0x43af40
nop dword [eax]
cmp word [eax], si
je 0x43af3c
add eax, 2
cmp eax, edx
jne 0x43af30
cmp eax, edx
jne 0x43af48
lea eax, [edi + 0xe8]
jmp 0x43af4e
lea eax, [edi + 0xf8]
mov esi, dword [ebp - 0x48]
movups xmm0, xmmword [eax]
mov eax, dword [edi + 0x19c]
movups xmmword [ebp - 0xc8], xmm0
movzx eax, word [esi + eax + 4]
cmp ecx, edx
je 0x43af7c
nop word [eax + eax]
cmp word [ecx], ax
je 0x43af7c
add ecx, 2
cmp ecx, edx
jne 0x43af70
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
lea eax, [edi + 0x128]
cmp ecx, edx
je 0x43af92
lea eax, [edi + 0x138]
cmp dword [edi + 0x1c0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x128], xmm0
jne 0x43b061
push 0x1c
call fcn.0052f855
movss xmm0, dword [0x5e00c8]
mov esi, eax
mulss xmm0, dword [0x5c8ff0]
add esp, 4
mov dword [ebp - 0x94], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [edi + 0x1c0], esi
cmp dword [esi], 0
movss dword [ebp - 0x54], xmm0
jne 0x43b020
push esi
push dword [ebp - 0x8c]
mov byte [ebp - 4], 0
call dword [0x5a697c]
test eax, eax
jne 0x43b061
mov ecx, dword [esi]
push 0xffffffffffffffff
push ecx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [esi]
movss xmm0, dword [ebp - 0x54]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x2c]
mov ecx, dword [esi]
push 1
push ecx
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [esi]
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [esi]
push ecx
mov dword [esp], 0x3f800000
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, dword [edi + 0x19c]
mov eax, dword [ebp - 0x48]
movzx eax, word [esi + eax]
movsx edx, ax
mov ecx, eax
mov dword [ebp - 0x54], ecx
cmp edx, dword [edi + 0x78]
jae 0x43b0d2
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 0x184]
movss xmm1, dword [ebp - 0x5c]
movd xmm0, dword [eax + edx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
sub eax, dword [ecx + edx*4]
mov ecx, dword [ecx + edx*4]
movd xmm0, eax
mov eax, dword [edi + 0x190]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss dword [ebp - 0x58], xmm0
movd xmm0, dword [eax + edx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43b0f2
movss xmm0, dword [ebp - 0x5c]
xorps xmm1, xmm1
mov edx, dword [ebp - 0x50]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x5c]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x50], edx
movss dword [ebp - 0x58], xmm0
mov edx, dword [ebp - 0x48]
sub eax, ecx
movd xmm0, eax
mov eax, dword [ebp - 0x54]
cvtdq2ps xmm0, xmm0
movsx ecx, ax
mov eax, dword [edi + 0x178]
addss xmm0, xmm1
movss dword [ebp - 0xa4], xmm0
movd xmm0, dword [edx + esi + 0x10]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [eax + ecx*4]
mov ecx, dword [edi + 0x1c0]
movss dword [ebp - 0x54], xmm0
call fcn.0040fe70
mov ecx, dword [edi + 0x1c0]
movss xmm1, dword [ebp - 0x4c]
add ecx, 4
movss xmm0, dword [ebp - 0x58]
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0x134], xmm0
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x43b173
movss dword [eax], xmm1
movss dword [eax + 4], xmm0
add dword [ecx + 4], 8
jmp 0x43b180
lea edx, [ebp - 0x138]
push edx
push eax
call fcn.00411ab0
mov ecx, dword [edi + 0x1c0]
movss xmm0, dword [ebp - 0x54]
add ecx, 4
movss xmm1, dword [ebp - 0xa4]
movss dword [ebp - 0xd8], xmm0
movss dword [ebp - 0xd4], xmm1
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x43b1bd
movss dword [eax], xmm0
movss dword [eax + 4], xmm1
add dword [ecx + 4], 8
jmp 0x43b1ca
lea edx, [ebp - 0xd8]
push edx
push eax
call fcn.00411ab0
movss xmm0, dword [ebp - 0xc8]
mulss xmm0, dword [0x5c92a8]
mov eax, dword [edi + 0x1c0]
mov dword [ebp - 0x58], eax
call fcn.00582da0
movss xmm0, dword [ebp - 0xbc]
mulss xmm0, dword [0x5c92a8]
movzx esi, al
call fcn.00582da0
movss xmm0, dword [ebp - 0xc4]
mulss xmm0, dword [0x5c92a8]
shl eax, 8
or esi, eax
shl esi, 8
call fcn.00582da0
movss xmm0, dword [ebp - 0xc0]
mulss xmm0, dword [0x5c92a8]
movzx eax, al
or esi, eax
shl esi, 8
call fcn.00582da0
movzx eax, al
or esi, eax
mov eax, dword [edi + 0x1c0]
mov edx, dword [eax + 8]
cmp dword [eax + 4], edx
je 0x43b27b
mov edi, dword [ebp - 0x58]
mov ecx, dword [eax]
push esi
sub edx, dword [edi + 4]
mov eax, dword [ecx]
sar edx, 3
push edx
mov edx, edi
push dword [edx + 4]
push ecx
call dword [eax + 0x14]
mov edi, dword [ebp - 0xac]
jmp 0x43b27b
movups xmm0, xmmword [edi + 0x118]
movups xmmword [ebp - 0x128], xmm0
mov eax, dword [edi + 0x110]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [edi + 0xd4], 8
movzx edx, word [eax + 8]
lea eax, [edi + 0xc0]
jb 0x43b2c0
mov eax, dword [eax]
cmp dword [0x5e6584], 0
mov esi, dword [ebp - 0x74]
je 0x43b350
push ecx
push dword [edi + 0xb4]
mov ecx, dword [ebp - 0x70]
push esi
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00436d10
movd xmm0, dword [ebp - 0xb8]
lea ecx, [ebp - 0x128]
push ecx
cvtdq2ps xmm0, xmm0
lea ecx, [ebp - 0xc8]
push ecx
sub esp, 0xc
mov ecx, dword [ebp - 0x70]
movss xmm3, dword [ebp - 0x4c]
movss dword [esp + 8], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
push dword [ecx]
mov ecx, dword [eax + 0x40]
push dword [ebp - 0x8c]
call fcn.00438820
jmp 0x43b350
mov esi, dword [ebp - 0x74]
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [edi + 0xd4], 8
movzx ecx, word [eax + 8]
lea eax, [edi + 0xc0]
jb 0x43b36e
mov eax, dword [eax]
push dword [edi + 0xb4]
push esi
push ecx
mov ecx, dword [ebp - 0x70]
push eax
call fcn.00436970
movss xmm1, dword [0x5e00c8]
mov ecx, eax
mov dword [ebp - 0x54], ecx
subss xmm1, dword [0x5c8f28]
test ecx, ecx
je 0x43b482
mov eax, dword [edi + 0x110]
mov esi, dword [edi + 0x19c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si edx, xmm1
add eax, edx
lea eax, [eax + eax*2]
add eax, dword [ecx + 4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
mov eax, dword [ebp - 0x48]
movzx edx, word [eax + esi]
mov eax, dword [edi + 0x178]
mov edi, dword [ebp - 0x48]
movsx ecx, dx
cvtpd2ps xmm4, xmm0
movd xmm3, dword [edi + esi + 0x10]
mov edi, dword [ebp - 0xac]
cvtdq2ps xmm3, xmm3
addss xmm3, dword [eax + ecx*4]
movsx ecx, dx
cmp ecx, dword [edi + 0x78]
jae 0x43b422
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si esi, xmm0
jmp 0x43b424
xor esi, esi
mov ecx, dword [ebp - 0x48]
mov eax, dword [edi + 0x19c]
cvttss2si edx, xmm1
movsx eax, word [ecx + eax + 0xc]
movss xmm1, dword [ebp - 0x4c]
add edx, dword [edi + 0x110]
movss dword [ebp - 0xdc], xmm4
lea ecx, [edx*4]
movd xmm0, edx
sub ecx, edx
neg ecx
sub ecx, eax
mov eax, dword [ebp - 0x54]
cvtdq2ps xmm0, xmm0
sub ecx, dword [eax + 0xc]
add ecx, esi
mov esi, dword [ebp - 0x48]
subss xmm1, xmm0
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0xe8], xmm1
addss xmm2, dword [ebp - 0x5c]
jmp 0x43b4e5
mov edx, dword [edi + 0x19c]
mov esi, dword [ebp - 0x48]
mov eax, dword [edi + 0x178]
movss xmm2, dword [ebp - 0x5c]
mov dword [ebp - 0xdc], 0
movd xmm3, dword [esi + edx + 0x10]
movsx ecx, word [esi + edx]
cvtdq2ps xmm3, xmm3
addss xmm3, dword [eax + ecx*4]
mov ecx, dword [edi + 0x110]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0x4c]
cvttss2si eax, xmm1
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, xmm1
subss xmm2, xmm1
movss dword [ebp - 0xe8], xmm0
mov eax, dword [edi + 0x1ac]
lea ecx, [edi + 0x1a8]
movss dword [ebp - 0xe0], xmm3
movss dword [ebp - 0xe4], xmm2
movups xmm0, xmmword [ebp - 0xe8]
movups xmmword [ebp - 0xf8], xmm0
cmp eax, dword [ecx + 8]
je 0x43b51d
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x43b52a
lea edx, [ebp - 0xf8]
push edx
push eax
call fcn.0043f740
cmp byte [ebp - 0x41], 0
mov edx, dword [edi + 0x19c]
mov eax, dword [edi + 0x178]
movss xmm4, dword [ebp - 0x80]
movd xmm0, dword [esi + edx + 0x10]
movsx ecx, word [esi + edx]
cvtdq2ps xmm5, xmm0
addss xmm5, dword [eax + ecx*4]
mov dword [ebp - 4], 0xffffffff
addss xmm5, dword [ebp - 0x4c]
maxss xmm4, xmm5
movss dword [ebp - 0x4c], xmm5
movss dword [ebp - 0x80], xmm4
je 0x43b660
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov eax, edx
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x43b59c
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43c27f
push ecx
push edx
call fcn.0052f847
add esp, 8
jmp 0x43b65b
movsx ecx, word [edx + esi]
cmp ecx, dword [edi + 0x78]
jae 0x43b5d0
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43b5d2
xor eax, eax
mov ecx, dword [edi + 0x110]
movss xmm1, dword [0x5e00c8]
subss xmm1, xmm4
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov dword [ebp - 0x110], 0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x10c], xmm3
mulss xmm1, xmm0
movaps xmm0, xmm5
cvttss2si eax, xmm1
add eax, ecx
lea ecx, [edi + 0x1a8]
movd xmm1, eax
mov eax, dword [ecx + 4]
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
subss xmm0, xmm1
movss dword [ebp - 0x114], xmm2
movss dword [ebp - 0x118], xmm0
cmp eax, dword [ecx + 8]
je 0x43b64e
movups xmm0, xmmword [ebp - 0x118]
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x43b668
lea edx, [ebp - 0x118]
push edx
push eax
call fcn.0043f740
movss xmm5, dword [ebp - 0x4c]
movss xmm4, dword [0x5c8f28]
mov esi, dword [edi + 0x1c]
xor edx, edx
mov eax, dword [edi + 0x18]
sub esi, eax
sar esi, 2
test esi, esi
je 0x43b69b
nop dword [eax]
mov eax, dword [eax + edx*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
dec eax
add eax, ecx
cmp eax, dword [ebp - 0x98]
je 0x43b69e
mov eax, dword [edi + 0x18]
inc edx
cmp edx, esi
jb 0x43b680
or edx, 0xffffffff
test edx, edx
js 0x43c263
mov esi, dword [edi + 0x19c]
mov eax, dword [ebp - 0x48]
movzx eax, word [eax + esi]
mov ecx, eax
cwde
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], eax
cmp eax, dword [edi + 0x78]
jae 0x43b6f7
mov esi, dword [ebp - 0x58]
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 0x184]
movd xmm0, dword [eax + esi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
mov dword [ebp - 0x9c], eax
mov eax, esi
mov esi, dword [edi + 0x19c]
mov ecx, dword [ecx + eax*4]
jmp 0x43b703
mov dword [ebp - 0x9c], 0
xor ecx, ecx
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x48]
movss xmm1, dword [0x5e00c8]
subss xmm1, xmm4
movsx eax, word [eax + esi + 0xc]
sub eax, dword [edi + esi + 0x14]
mov edi, dword [ebp - 0xac]
sub eax, ecx
add eax, dword [ebp - 0x9c]
mov ecx, dword [edi + 0x110]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x6c], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
movaps xmm1, xmm5
add eax, ecx
movd xmm0, eax
mov eax, dword [edi + 0x18]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xa4], eax
subss xmm1, xmm0
mov edx, dword [eax + 4]
movss dword [ebp - 0x60], xmm1
test edx, edx
jle 0x43b7b4
mov eax, dword [ebp - 0x54]
movsx ecx, ax
mov eax, dword [edi + 0x178]
movss xmm2, dword [eax + ecx*4]
mov eax, dword [ebp - 0x48]
nop
movd xmm0, dword [esi + eax + 0x10]
sub eax, 0x1c
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
subss xmm1, xmm0
sub edx, 1
jne 0x43b790
mov eax, dword [ebp - 0xa4]
movss dword [ebp - 0x60], xmm1
cmp dword [eax + 0x1c], 8
lea edx, [eax + 8]
movaps xmm0, xmm5
subss xmm0, xmm1
movss dword [ebp - 0x9c], xmm0
jb 0x43b7ce
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43b7f0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.004039b0
mov dword [ebp - 4], 2
xor edx, edx
mov esi, dword [ebp - 0x30]
xorps xmm3, xmm3
mov eax, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x94], eax
movss dword [ebp - 0x68], xmm3
mov dword [ebp - 0x88], edx
test eax, eax
jle 0x43ba35
nop dword [eax]
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp esi, edx
jb 0x43d5f4
mov eax, esi
mov ecx, 1
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov dword [ebp - 0x54], ecx
cmovae eax, dword [ebp - 0x40]
lea eax, [eax + edx*2]
mov dword [ebp - 0x90], eax
cmp ecx, 7
ja 0x43b8b3
lea esi, [ecx + ecx]
mov dword [ebp - 0x18], ecx
push esi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00582b6f
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x28], ax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x74], ecx
jmp 0x43b918
cmp ecx, 0x7ffffffe
ja 0x43d5ef
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x43b8d3
mov esi, 0x7ffffffe
jmp 0x43b8de
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
mov dword [ebp - 0x58], esi
push eax
call fcn.00403c90
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x18], ecx
lea esi, [ecx + ecx]
push esi
push dword [ebp - 0x90]
push eax
call fcn.00582b4b
mov ecx, dword [ebp - 0x74]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x28], ecx
mov word [esi + ecx], ax
mov esi, dword [ebp - 0x58]
or dword [ebp - 0x84], 2
cmp esi, 8
mov byte [ebp - 4], 3
movss xmm1, dword [0x5e00c8]
lea eax, [ebp - 0x28]
subss xmm1, dword [0x5c8f28]
cmovae eax, ecx
setae byte [ebp - 0x41]
movzx edx, word [eax]
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [edi + 0xd4], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
mov dword [ebp - 0x90], eax
lea eax, [edi + 0xc0]
jb 0x43b994
mov eax, dword [eax]
lea edi, [ebp - 0x140]
push edi
mov edi, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x70]
push dword [edi + 0xb4]
push edx
push dword [ebp - 0x90]
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00437220
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0x140]
cvtdq2ps xmm3, xmm0
mov byte [ebp - 4], 2
addss xmm3, dword [ebp - 0x68]
movss dword [ebp - 0x68], xmm3
je 0x43ba1a
mov ecx, dword [ebp - 0x74]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x43ba0b
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43c27f
push esi
push ecx
call fcn.0052f847
movss xmm3, dword [ebp - 0x68]
add esp, 8
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0xa4]
inc edx
mov dword [ebp - 0x88], edx
cmp edx, esi
jl 0x43b840
mov ecx, dword [edi + 0x110]
movss xmm2, dword [0x5e00c8]
movaps xmm1, xmm2
movss xmm4, dword [ebp - 0x9c]
subss xmm1, dword [0x5c8f28]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm3
comiss xmm0, xmm4
jb 0x43bf04
movd xmm3, dword [edi + 0x8c]
subss xmm0, xmm4
movss xmm1, dword [ebp - 0x60]
cvtdq2ps xmm3, xmm3
mulss xmm0, dword [0x5c8ef4]
mulss xmm3, xmm2
subss xmm1, xmm0
comiss xmm3, xmm1
movss dword [ebp - 0x60], xmm1
jbe 0x43baae
movaps xmm1, xmm3
jmp 0x43bae3
mov eax, dword [ebp - 0xb0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
cvtpd2ps xmm2, xmm0
movaps xmm0, xmm4
addss xmm2, xmm3
addss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x43bae8
movaps xmm1, xmm2
subss xmm1, xmm4
movss dword [ebp - 0x60], xmm1
movss xmm0, dword [edi + 0x168]
comiss xmm0, xmm1
jbe 0x43bafd
movss dword [edi + 0x168], xmm1
movd xmm0, dword [edi + 0xbc]
xor edx, edx
movss dword [ebp - 0x74], xmm1
movss xmm1, dword [ebp - 0x6c]
mov dword [ebp - 0x9c], edx
addss xmm1, dword [ebp - 0x5c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x6c], xmm1
movss dword [ebp - 0x54], xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp - 0x58], xmm1
test esi, esi
jle 0x43be95
nop dword [eax]
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp esi, edx
jb 0x43d5f4
mov eax, esi
mov ecx, 1
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
mov dword [ebp - 0x90], ecx
cmovae eax, dword [ebp - 0x40]
lea eax, [eax + edx*2]
mov dword [ebp - 0xa0], eax
cmp ecx, 7
ja 0x43bbc6
lea esi, [ecx + ecx]
mov dword [ebp - 0x18], ecx
push esi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00582b6f
add esp, 0xc
xor eax, eax
mov word [ebp + esi - 0x28], ax
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x68], ecx
jmp 0x43bc34
cmp ecx, 0x7ffffffe
ja 0x43d5ef
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x43bbe6
mov esi, 0x7ffffffe
jmp 0x43bbf1
cmp esi, 0xa
mov eax, 0xa
cmovb esi, eax
lea eax, [esi + 1]
mov dword [ebp - 0x88], esi
push eax
call fcn.00403c90
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x18], ecx
lea esi, [ecx + ecx]
push esi
push dword [ebp - 0xa0]
push eax
call fcn.00582b4b
mov ecx, dword [ebp - 0x68]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x28], ecx
mov word [esi + ecx], ax
mov esi, dword [ebp - 0x88]
or dword [ebp - 0x84], 4
cmp esi, 8
mov byte [ebp - 4], 4
movss xmm1, dword [0x5e00c8]
lea eax, [ebp - 0x28]
subss xmm1, dword [0x5c8f28]
cmovae eax, ecx
setae byte [ebp - 0x41]
movzx eax, word [eax]
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si edx, xmm1
add edx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [edi + 0xd4], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
mov dword [ebp - 0x90], eax
lea eax, [edi + 0xc0]
mov dword [ebp - 0xa0], eax
mov ecx, eax
jb 0x43bcbe
mov ecx, dword [eax]
lea eax, [ebp - 0x130]
push eax
push edx
push dword [edi + 0xb4]
push dword [ebp - 0x88]
push dword [ebp - 0x90]
push ecx
push dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0xa8]
call fcn.00437220
cmp dword [ebp - 0x64], 0
jne 0x43be06
mov eax, dword [edi + 0x114]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [edi + 0xbc]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm1
mulss xmm0, dword [edi + 0x10c]
add ecx, eax
movss xmm1, dword [ebp - 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cvtdq2ps xmm0, xmm0
movsx eax, word [eax + 8]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x90], xmm1
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx edx, ax
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0x14], 8
jb 0x43bd7e
mov eax, dword [eax]
cmp dword [0x5e6584], 0
je 0x43be06
push ecx
push dword [edi + 0xb4]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x88]
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00436d10
movd xmm0, dword [ebp - 0xb8]
lea ecx, [ebp - 0x128]
push ecx
movss xmm3, dword [ebp - 0x60]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x70]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x90]
movss dword [esp], xmm0
push dword [ecx]
mov ecx, dword [eax + 0x40]
push dword [ebp - 0x8c]
call fcn.00438820
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0x130]
cvtdq2ps xmm1, xmm0
mov byte [ebp - 4], 2
addss xmm1, dword [ebp - 0x60]
movaps xmm0, xmm1
movss dword [ebp - 0x60], xmm1
subss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0x80]
maxss xmm0, xmm1
movss dword [ebp - 0x80], xmm0
je 0x43be75
mov ecx, dword [ebp - 0x68]
lea esi, [esi*2 + 2]
mov eax, ecx
cmp esi, 0x1000
jb 0x43be6b
mov ecx, dword [ecx - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43c27f
push esi
push ecx
call fcn.0052f847
add esp, 8
mov edx, dword [ebp - 0x9c]
mov esi, dword [ebp - 0xa4]
inc edx
mov dword [ebp - 0x9c], edx
cmp edx, esi
jl 0x43bb50
movss xmm1, dword [ebp - 0x58]
movss xmm0, dword [ebp - 0x74]
mov ecx, dword [edi + 0x1b8]
mov eax, dword [ebp - 0x98]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x54]
mov dword [ebp - 0xfc], eax
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0xec], xmm0
cmp ecx, dword [edi + 0x1bc]
je 0x43c237
movups xmm0, xmmword [ebp - 0xfc]
mov eax, dword [ebp - 0xec]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
add dword [edi + 0x1b8], 0x14
jmp 0x43c24a
subss xmm4, xmm0
lea eax, [esi + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
movss xmm0, dword [edi + 0x168]
movaps xmm1, xmm4
movss dword [ebp - 0x9c], xmm4
addss xmm1, dword [ebp - 0x60]
comiss xmm0, xmm1
movss dword [ebp - 0x68], xmm1
jbe 0x43bf40
movss dword [edi + 0x168], xmm1
movd xmm0, dword [edi + 0xbc]
xor edx, edx
movss dword [ebp - 0x74], xmm1
movss xmm1, dword [ebp - 0x6c]
mov dword [ebp - 0x88], edx
addss xmm1, dword [ebp - 0x5c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x6c], xmm1
movss dword [ebp - 0x54], xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp - 0x58], xmm1
test esi, esi
jle 0x43be95
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp esi, edx
jb 0x43d5f4
sub esi, edx
lea eax, [ebp - 0x40]
mov ecx, 1
cmp esi, ecx
cmovb ecx, esi
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
lea eax, [eax + edx*2]
push eax
call fcn.004039b0
or dword [ebp - 0x84], 8
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
lea esi, [edi + 0xc0]
mov ecx, dword [ebp - 0x28]
movss xmm1, dword [0x5e00c8]
cmovae eax, ecx
subss xmm1, dword [0x5c8f28]
mov dword [ebp - 0x60], ecx
setae byte [ebp - 0x41]
movzx eax, word [eax]
mov dword [ebp - 0xa4], eax
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [esi + 0x14], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx edx, ax
mov eax, esi
jb 0x43c059
mov eax, dword [esi]
lea edi, [ebp - 0x104]
push edi
mov edi, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x70]
push dword [edi + 0xb4]
push dword [ebp - 0xa4]
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00437220
cmp dword [ebp - 0x64], 0
jne 0x43c198
mov eax, dword [edi + 0x114]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [edi + 0xbc]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm1
mulss xmm0, dword [edi + 0x10c]
add ecx, eax
movss xmm1, dword [ebp - 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x48]
cmp dword [esi + 0x14], 8
cvtdq2ps xmm0, xmm0
movsx eax, word [eax + 8]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x90], xmm1
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
jb 0x43c114
mov esi, dword [esi]
cmp dword [0x5e6584], 0
je 0x43c198
push ecx
push dword [edi + 0xb4]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0xa4]
push eax
push esi
mov esi, dword [ebp - 0x8c]
push esi
push dword [ebp - 0xa8]
call fcn.00436d10
movd xmm0, dword [ebp - 0xb8]
lea ecx, [ebp - 0x128]
push ecx
movss xmm3, dword [ebp - 0x68]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x70]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x90]
movss dword [esp], xmm0
push dword [ecx]
mov ecx, dword [eax + 0x40]
push esi
call fcn.00438820
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0x104]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 4], 2
movaps xmm2, xmm0
addss xmm0, dword [ebp - 0x9c]
addss xmm2, dword [ebp - 0x68]
addss xmm0, dword [ebp - 0x68]
subss xmm2, dword [ebp - 0x74]
movaps xmm1, xmm0
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x80]
maxss xmm0, xmm1
movss dword [ebp - 0xa0], xmm2
movss dword [ebp - 0x80], xmm0
je 0x43c216
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x60]
mov eax, edx
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x43c20c
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43c27f
push ecx
push edx
call fcn.0052f847
add esp, 8
mov edx, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x88], edx
cmp edx, dword [ebp - 0x94]
jge 0x43be90
mov esi, dword [ebp - 0x30]
jmp 0x43bf90
lea eax, [ebp - 0xfc]
push eax
push ecx
lea ecx, [edi + 0x1b4]
call fcn.0043f8c0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x43c263
inc eax
push eax
push dword [ebp - 0x40]
call fcn.00403cf0
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp eax, dword [ebp - 0x7c]
jae 0x43c285
movss xmm5, dword [ebp - 0x4c]
jmp 0x43aad3
call dword [0x5a67b8]
movss xmm4, dword [ebp - 0x80]
mov eax, dword [ebp - 0x78]
movsx ecx, ax
cmp ecx, dword [edi + 0x78]
jae 0x43c2b1
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43c2b3
xor eax, eax
movd xmm0, dword [edi + 0x90]
movss xmm1, dword [ebp - 0x5c]
cvtdq2ps xmm0, xmm0
subss xmm4, dword [edi + 0x168]
mulss xmm0, dword [0x5e00c8]
addss xmm0, dword [ebp - 0xcc]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movaps xmm2, xmm1
jmp 0x43d5b5
cmp esi, dword [edi + 0x78]
jae 0x43c313
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + esi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43c315
xor eax, eax
movd xmm1, dword [edi + 0x94]
mov ecx, edi
cvtdq2ps xmm1, xmm1
push esi
movd xmm0, eax
mulss xmm1, dword [0x5e00c8]
cvtdq2ps xmm0, xmm0
subss xmm1, dword [ebp - 0xcc]
subss xmm1, xmm0
movd xmm0, dword [edi + 0x90]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5e00c8]
movss dword [ebp - 0x48], xmm0
call fcn.0043a710
test eax, eax
je 0x43c383
movd xmm0, dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
cmp eax, ecx
cmovle eax, ecx
jmp 0x43c389
mov eax, dword [edi + 0xb8]
movd xmm0, eax
mov eax, dword [edi + 0x98]
sub eax, dword [edi + 0x90]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x168], xmm1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x4c], xmm1
mulss xmm0, dword [0x5e00c8]
call fcn.00582da0
movzx ecx, word [edi + 0x60]
mov dword [ebp - 0x9c], eax
cmp cx, 1
jne 0x43c411
mov ecx, eax
shr ecx, 1
push esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x5c9490]
mov ecx, edi
cvtpd2ps xmm3, xmm0
addss xmm3, dword [ebp - 0x48]
call fcn.0043a6b0
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm3, xmm0
movss dword [ebp - 0x48], xmm3
jmp 0x43c443
cmp cx, 2
jne 0x43c43e
movd xmm0, eax
mov ecx, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
push esi
addsd xmm0, qword [eax*8 + 0x5c9490]
cvtpd2ps xmm3, xmm0
addss xmm3, dword [ebp - 0x48]
call fcn.0043a6b0
jmp 0x43c3ff
movss xmm3, dword [ebp - 0x48]
movss dword [edi + 0x16c], xmm3
mov eax, 0x92492493
mov ecx, dword [edi + 0x1a0]
movaps xmm2, xmm3
sub ecx, dword [edi + 0x19c]
imul ecx
movss dword [ebp - 0x80], xmm2
mov dword [ebp - 0x64], 0
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
test esi, esi
je 0x43c4a6
push esi
lea eax, [ebp - 0x104]
mov ecx, edi
push eax
call fcn.0043a640
mov eax, dword [ebp - 0x104]
movzx ecx, si
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x60], 0xffffffff
cmp eax, dword [ebp - 0x88]
jae 0x43d58e
mov esi, dword [edi + 0x19c]
lea ecx, [eax*8]
movss xmm4, dword [0x5c925c]
sub ecx, eax
shl ecx, 2
mov dword [ebp - 0x50], ecx
movzx eax, word [esi + ecx]
mov edx, eax
cmp word [ebp - 0x78], ax
je 0x43c681
movd xmm1, dword [edi + 0x90]
movzx eax, word [edi + 0x60]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5e00c8]
movaps xmm3, xmm1
movss dword [ebp - 0x48], xmm3
cmp ax, 1
jne 0x43c541
mov eax, dword [ebp - 0x9c]
mov ecx, edi
shr eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
movsx eax, dx
push eax
cvtpd2ps xmm3, xmm0
addss xmm3, xmm1
call fcn.0043a6b0
cdq
sub eax, edx
sar eax, 1
jmp 0x43c575
cmp ax, 2
jne 0x43c588
mov eax, dword [ebp - 0x9c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
movsx eax, word [ecx + esi]
mov ecx, edi
push eax
cvtpd2ps xmm1, xmm0
addss xmm3, xmm1
call fcn.0043a6b0
mov ecx, dword [ebp - 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm3, xmm0
movss dword [ebp - 0x48], xmm3
movss xmm0, dword [edi + 0x16c]
comiss xmm0, xmm3
jbe 0x43c59d
movss dword [edi + 0x16c], xmm3
movsx eax, word [ecx + esi]
mov ecx, edi
push eax
call fcn.0043a710
test eax, eax
je 0x43c5d1
movd xmm0, dword [edi + 0xbc]
mov ecx, dword [edi + 0xb8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
cmp eax, ecx
cmovle eax, ecx
jmp 0x43c5d7
mov eax, dword [edi + 0xb8]
movd xmm1, eax
mov eax, dword [ebp - 0x78]
movsx ecx, ax
cvtdq2ps xmm1, xmm1
cmp ecx, dword [edi + 0x78]
jae 0x43c605
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43c607
xor eax, eax
mov ecx, dword [ebp - 0x50]
movss xmm2, dword [ebp - 0x4c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, word [ecx + esi]
mov edx, eax
mov dword [ebp - 0x78], edx
movsx edx, ax
addss xmm0, xmm1
subss xmm2, xmm0
movss dword [ebp - 0x4c], xmm2
cmp edx, dword [edi + 0x78]
jae 0x43c650
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + edx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43c652
xor eax, eax
movd xmm0, eax
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, dword [edi + 0x8c]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5e00c8]
comiss xmm0, xmm1
jbe 0x43c686
mov dword [ebp - 0x64], 1
jmp 0x43c6ac
movss xmm2, dword [ebp - 0x4c]
cmp dword [ebp - 0x64], 0
jne 0x43c6ac
lea eax, [ecx + esi]
movsx eax, word [eax]
cmp dword [ebp - 0x60], eax
je 0x43c6ac
mov eax, dword [ebp - 0xd0]
inc dword [eax]
mov esi, dword [edi + 0x19c]
movsx eax, word [esi + ecx]
mov dword [ebp - 0x60], eax
movzx eax, word [ecx + esi + 6]
mov edx, dword [ebp - 0x78]
movzx edx, dx
test ax, ax
je 0x43c73f
shr ax, 0xc
movzx eax, ax
mov edx, dword [ebp - 0x78]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0xc8], xmm0
mov al, byte [ecx + esi + 7]
and al, 0xf
cbw
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0xc4], xmm0
movzx eax, word [ecx + esi + 6]
sar ax, 4
and ax, 0xf
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0xc0], xmm0
movzx eax, word [ecx + esi + 6]
and ax, 0xf
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm4
movss dword [ebp - 0xbc], xmm0
jmp 0x43c766
movups xmm0, xmmword [edi + 0xd8]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x60]
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0x78], edx
movss dword [ebp - 0x4c], xmm2
movss dword [ebp - 0x48], xmm3
mov dword [ebp - 0x60], eax
cmp byte [ecx + esi + 0x18], 0
movzx eax, dx
mov dword [ebp - 0x94], eax
movzx eax, dx
mov dword [ebp - 0x90], eax
jne 0x43ca71
mov edx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x28], 0
mov word [ebp - 0x28], ax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
cmp eax, edx
jb 0x43d5f4
sub eax, edx
mov ecx, 1
cmp eax, ecx
cmovb ecx, eax
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x43c7c2
mov eax, dword [edi]
push ecx
lea eax, [eax + edx*2]
push eax
lea ecx, [ebp - 0x28]
call fcn.004039b0
or dword [ebp - 0x84], 0x10
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x28]
movss xmm4, dword [ebp - 0x4c]
movss xmm3, dword [ebp - 0x48]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x14], 8
mov esi, dword [edi + 0x19c]
cmovae eax, dword [ebp - 0x28]
setae byte [ebp - 0x41]
movss dword [ebp - 0x4c], xmm4
movss dword [ebp - 0x58], xmm3
movzx eax, word [eax]
mov dword [ebp - 0xa0], eax
movsx eax, word [edx + esi]
mov dword [ebp - 0x7c], eax
cmp eax, dword [edi + 0x78]
jae 0x43c854
mov edx, dword [ebp - 0x7c]
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 0x184]
movd xmm0, dword [eax + edx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
mov dword [ebp - 0x54], eax
mov eax, edx
mov edx, dword [ebp - 0x50]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x94]
jmp 0x43c863
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov dword [ebp - 0x54], 0
movzx eax, ax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x60], eax
movsx eax, word [edx + esi + 0xc]
sub eax, dword [edx + esi + 0x10]
sub eax, ecx
add eax, dword [ebp - 0x54]
cmp dword [ebp - 0x64], 0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
jne 0x43c939
mov eax, dword [edi + 0x110]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movzx edx, word [edx + esi + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
cmp dword [edi + 0xd4], 8
lea eax, [edi + 0xc0]
jb 0x43c8d1
mov eax, dword [eax]
movd xmm0, dword [ebp - 0xb8]
lea esi, [ebp - 0x128]
push esi
push ecx
lea ecx, [ebp - 0xc8]
push ecx
sub esp, 0x10
mov ecx, dword [ebp - 0x70]
cvtdq2ps xmm0, xmm0
addss xmm2, xmm4
movss dword [esp + 0xc], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
push dword [edi + 0xb4]
push dword [ebp - 0xa0]
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.004372e0
mov edx, dword [ebp - 0x50]
mov esi, dword [edi + 0x19c]
mov eax, dword [ebp - 0x50]
movzx edx, word [edx + esi]
movd xmm4, dword [eax + esi + 0x14]
mov eax, dword [edi + 0x178]
cvtdq2ps xmm4, xmm4
movsx ecx, dx
addss xmm4, dword [eax + ecx*4]
movsx ecx, dx
cmp ecx, dword [edi + 0x78]
jae 0x43c981
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43c983
xor eax, eax
mov ecx, dword [edi + 0x110]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movss xmm2, dword [ebp - 0x58]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm3, eax
mulss xmm1, xmm0
movss xmm0, dword [ebp - 0x4c]
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm1
movss dword [ebp - 0x110], xmm3
add eax, ecx
movss dword [ebp - 0x10c], xmm4
lea ecx, [edi + 0x1a8]
movd xmm1, eax
mov eax, dword [ecx + 4]
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
subss xmm0, xmm1
movss dword [ebp - 0x114], xmm2
movss dword [ebp - 0x118], xmm0
cmp eax, dword [ecx + 8]
je 0x43ca08
movups xmm0, xmmword [ebp - 0x118]
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x43ca15
lea edx, [ebp - 0x118]
push edx
push eax
call fcn.0043f740
cmp byte [ebp - 0x41], 0
mov edx, dword [edi + 0x19c]
mov esi, dword [ebp - 0x50]
mov eax, dword [edi + 0x178]
movss xmm2, dword [ebp - 0x80]
movd xmm3, dword [esi + edx + 0x14]
movsx ecx, word [esi + edx]
cvtdq2ps xmm3, xmm3
addss xmm3, dword [eax + ecx*4]
addss xmm3, dword [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
maxss xmm2, xmm3
movss dword [ebp - 0x48], xmm3
movss dword [ebp - 0x80], xmm2
je 0x43caf1
mov eax, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00403cf0
jmp 0x43caec
movsx ecx, word [ecx + esi]
cmp ecx, dword [edi + 0x78]
jae 0x43ca96
mov eax, dword [edi + 0x190]
movd xmm0, dword [eax + ecx*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
jmp 0x43ca98
xor eax, eax
movd xmm0, eax
lea ecx, [edi + 0x1a8]
mov eax, dword [ecx + 4]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xdc], 0
movss dword [ebp - 0xe8], xmm2
movss dword [ebp - 0xe4], xmm3
movss dword [ebp - 0xe0], xmm0
cmp eax, dword [ecx + 8]
je 0x43cadf
movups xmm0, xmmword [ebp - 0xe8]
movups xmmword [eax], xmm0
add dword [ecx + 4], 0x10
jmp 0x43caf6
lea edx, [ebp - 0xe8]
push edx
push eax
call fcn.0043f740
movss xmm3, dword [ebp - 0x48]
movss xmm2, dword [ebp - 0x4c]
mov esi, dword [edi + 0x1c]
xor edx, edx
mov eax, dword [edi + 0x18]
sub esi, eax
sar esi, 2
test esi, esi
je 0x43cb1f
mov eax, dword [eax + edx*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
dec eax
add eax, ecx
cmp eax, dword [ebp - 0x6c]
je 0x43cb22
mov eax, dword [edi + 0x18]
inc edx
cmp edx, esi
jb 0x43cb07
or edx, 0xffffffff
mov ecx, dword [ebp - 0x78]
movzx eax, cx
mov dword [ebp - 0x94], eax
movzx eax, cx
mov dword [ebp - 0x90], eax
test edx, edx
js 0x43d568
mov esi, dword [edi + 0x19c]
mov ecx, dword [ebp - 0x50]
movss dword [ebp - 0x4c], xmm2
movzx eax, word [ecx + esi]
mov edi, eax
cwde
mov dword [ebp - 0xa0], edi
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x7c], eax
cmp eax, dword [edi + 0x78]
jae 0x43cba7
mov esi, dword [ebp - 0x7c]
mov eax, dword [edi + 0x190]
mov ecx, dword [edi + 0x184]
movd xmm0, dword [eax + esi*4]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [edi + 0x108]
cvttss2si eax, xmm0
mov dword [ebp - 0x54], eax
mov eax, esi
mov esi, dword [edi + 0x19c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x94]
jmp 0x43cbbb
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x7c], 0
movzx eax, ax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x60]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
mov dword [ebp - 0x60], eax
movsx eax, word [ecx + esi + 0xc]
sub eax, dword [ecx + esi + 0x10]
sub eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x54]
mov ecx, dword [edi + 0x110]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
movaps xmm1, xmm3
add eax, ecx
movd xmm0, eax
mov eax, dword [edi + 0x18]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x94], eax
subss xmm1, xmm0
mov edx, dword [eax + 4]
movss dword [ebp - 0x5c], xmm1
test edx, edx
jle 0x43cc74
mov eax, dword [ebp - 0xa0]
movsx ecx, ax
mov eax, dword [edi + 0x178]
movss xmm2, dword [eax + ecx*4]
mov eax, dword [ebp - 0x50]
nop
movd xmm0, dword [eax + esi + 0x14]
sub eax, 0x1c
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
subss xmm1, xmm0
sub edx, 1
jne 0x43cc50
mov eax, dword [ebp - 0x94]
movss dword [ebp - 0x5c], xmm1
cmp dword [eax + 0x1c], 8
lea edx, [eax + 8]
movaps xmm0, xmm3
subss xmm0, xmm1
movss dword [ebp - 0xb0], xmm0
jb 0x43cc8e
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ccb0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.004039b0
mov dword [ebp - 4], 7
xorps xmm0, xmm0
mov edx, dword [ebp - 0x30]
xor esi, esi
mov eax, edx
movss dword [ebp - 0x58], xmm0
mov dword [ebp - 0x74], eax
test eax, eax
jle 0x43ce2d
nop word [eax + eax]
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, esi
jb 0x43d5f4
sub edx, esi
lea eax, [ebp - 0x40]
mov ecx, 1
cmp edx, ecx
cmovb ecx, edx
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
lea eax, [eax + esi*2]
push eax
call fcn.004039b0
or dword [ebp - 0x84], 0x20
mov byte [ebp - 4], 8
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
movss xmm1, dword [0x5e00c8]
cmovae eax, dword [ebp - 0x28]
setae byte [ebp - 0x41]
subss xmm1, dword [0x5c8f28]
movzx edx, word [eax]
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x50]
cmp dword [edi + 0xd4], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
mov dword [ebp - 0x94], eax
lea eax, [edi + 0xc0]
jb 0x43cdb5
mov eax, dword [eax]
lea edi, [ebp - 0x104]
push edi
mov edi, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x70]
push dword [edi + 0xb4]
push edx
push dword [ebp - 0x94]
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00437220
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0x100]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x58]
mov byte [ebp - 4], 7
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x80]
maxss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x80], xmm0
je 0x43ce20
mov eax, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00403cf0
mov edx, dword [ebp - 0x30]
inc esi
cmp esi, dword [ebp - 0x74]
jl 0x43ccf0
mov ecx, dword [edi + 0x110]
movss xmm2, dword [0x5e00c8]
movaps xmm1, xmm2
movss xmm4, dword [ebp - 0xb0]
subss xmm1, dword [0x5c8f28]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
movss xmm1, dword [ebp - 0x5c]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x58]
comiss xmm0, xmm4
jb 0x43d1c4
movd xmm3, dword [edi + 0x90]
subss xmm0, xmm4
cvtdq2ps xmm3, xmm3
mulss xmm0, dword [0x5c8ef4]
mulss xmm3, xmm2
subss xmm1, xmm0
comiss xmm3, xmm1
movss dword [ebp - 0x5c], xmm1
jbe 0x43cea7
movaps xmm1, xmm3
jmp 0x43cedc
mov eax, dword [ebp - 0x9c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5c9490]
cvtpd2ps xmm2, xmm0
movaps xmm0, xmm4
addss xmm2, xmm3
addss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x43cee1
movaps xmm1, xmm2
subss xmm1, xmm4
movss dword [ebp - 0x5c], xmm1
movss xmm0, dword [edi + 0x16c]
comiss xmm0, xmm1
jbe 0x43cef6
movss dword [edi + 0x16c], xmm1
movd xmm0, dword [edi + 0xbc]
xor esi, esi
movaps xmm3, xmm1
movss xmm2, dword [ebp - 0x98]
addss xmm2, dword [ebp - 0x4c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x54], esi
movss dword [ebp - 0x98], xmm2
movss dword [ebp - 0xa0], xmm0
mulss xmm0, dword [edi + 0x10c]
movss dword [ebp - 0x68], xmm3
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
movss dword [ebp - 0x58], xmm0
cmp dword [ebp - 0x74], esi
jle 0x43d4d9
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, esi
jb 0x43d5f4
sub edx, esi
lea eax, [ebp - 0x40]
mov ecx, 1
cmp edx, ecx
cmovb ecx, edx
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
lea eax, [eax + esi*2]
push eax
call fcn.004039b0
or dword [ebp - 0x84], 0x40
mov byte [ebp - 4], 9
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
lea esi, [edi + 0xc0]
movss xmm1, dword [0x5e00c8]
cmovae eax, dword [ebp - 0x28]
setae byte [ebp - 0x41]
subss xmm1, dword [0x5c8f28]
movzx eax, word [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x50]
cmp dword [esi + 0x14], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx edx, ax
mov eax, esi
jb 0x43d011
mov eax, dword [esi]
lea edi, [ebp - 0xd8]
push edi
mov edi, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x70]
push dword [edi + 0xb4]
push dword [ebp - 0x7c]
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00437220
cmp dword [ebp - 0x64], 0
jne 0x43d149
mov eax, dword [edi + 0x114]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [edi + 0xbc]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm1
mulss xmm0, dword [edi + 0x10c]
add ecx, eax
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x50]
cmp dword [esi + 0x14], 8
cvtdq2ps xmm0, xmm0
movsx eax, word [eax + 8]
addss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x94], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
jb 0x43d0c8
mov esi, dword [esi]
cmp dword [0x5e6584], 0
je 0x43d149
push ecx
push dword [edi + 0xb4]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x7c]
push eax
push esi
mov esi, dword [ebp - 0x8c]
push esi
push dword [ebp - 0xa8]
call fcn.00436d10
movd xmm0, dword [ebp - 0xb8]
lea ecx, [ebp - 0x128]
push ecx
movss xmm3, dword [ebp - 0x94]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x70]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
push dword [ecx]
mov ecx, dword [eax + 0x40]
push esi
call fcn.00438820
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0xd4]
movss xmm1, dword [ebp - 0x5c]
movss xmm3, dword [ebp - 0x68]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
subss xmm0, xmm3
movss dword [ebp - 0xa4], xmm0
movd xmm0, dword [ebp - 0xd8]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 4], 7
addss xmm1, xmm0
movss xmm0, dword [ebp - 0x80]
maxss xmm0, xmm1
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x80], xmm0
je 0x43d1ac
mov eax, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00403cf0
movss xmm3, dword [ebp - 0x68]
mov esi, dword [ebp - 0x54]
inc esi
mov dword [ebp - 0x54], esi
cmp esi, dword [ebp - 0x74]
jge 0x43d4d4
mov edx, dword [ebp - 0x30]
jmp 0x43cf50
mov ecx, dword [ebp - 0x74]
subss xmm4, xmm0
lea eax, [ecx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
movss xmm0, dword [edi + 0x16c]
addss xmm1, xmm4
movss dword [ebp - 0xb0], xmm4
comiss xmm0, xmm1
movss dword [ebp - 0x5c], xmm1
jbe 0x43d1ff
movss dword [edi + 0x16c], xmm1
movd xmm0, dword [edi + 0xbc]
xor esi, esi
movss xmm2, dword [ebp - 0x98]
movaps xmm3, xmm1
movss dword [ebp - 0x68], xmm3
mov dword [ebp - 0x54], esi
addss xmm2, dword [ebp - 0x4c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm2
movss dword [ebp - 0xa0], xmm0
mulss xmm0, dword [edi + 0x10c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
movss dword [ebp - 0x58], xmm0
test ecx, ecx
jle 0x43d4d9
nop dword [eax + eax]
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, esi
jb 0x43d5f4
sub edx, esi
lea eax, [ebp - 0x40]
mov ecx, 1
cmp edx, ecx
cmovb ecx, edx
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x28]
lea eax, [eax + esi*2]
push eax
call fcn.004039b0
or dword [ebp - 0x84], 0x80
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
lea esi, [edi + 0xc0]
movss xmm1, dword [0x5e00c8]
cmovae eax, dword [ebp - 0x28]
setae byte [ebp - 0x41]
subss xmm1, dword [0x5c8f28]
movzx eax, word [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x114]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si ecx, xmm1
add ecx, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x50]
cmp dword [esi + 0x14], 8
movsx eax, word [eax + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx edx, ax
mov eax, esi
jb 0x43d324
mov eax, dword [esi]
lea edi, [ebp - 0x130]
push edi
mov edi, dword [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0x70]
push dword [edi + 0xb4]
push dword [ebp - 0x7c]
push edx
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xa8]
call fcn.00437220
cmp dword [ebp - 0x64], 0
jne 0x43d45c
mov eax, dword [edi + 0x114]
movss xmm1, dword [0x5e00c8]
subss xmm1, dword [0x5c8f28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [edi + 0xbc]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm1
mulss xmm0, dword [edi + 0x10c]
add ecx, eax
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x19c]
add eax, dword [ebp - 0x50]
cmp dword [esi + 0x14], 8
cvtdq2ps xmm0, xmm0
movsx eax, word [eax + 8]
addss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x94], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x5c9030]
cvttss2si eax, xmm0
movzx eax, ax
jb 0x43d3db
mov esi, dword [esi]
cmp dword [0x5e6584], 0
je 0x43d45c
push ecx
push dword [edi + 0xb4]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x7c]
push eax
push esi
mov esi, dword [ebp - 0x8c]
push esi
push dword [ebp - 0xa8]
call fcn.00436d10
movd xmm0, dword [ebp - 0xb8]
lea ecx, [ebp - 0x128]
push ecx
movss xmm3, dword [ebp - 0x94]
lea ecx, [ebp - 0xc8]
push ecx
mov ecx, dword [ebp - 0x70]
sub esp, 0xc
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movd xmm0, dword [ebp - 0xb4]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
push dword [ecx]
mov ecx, dword [eax + 0x40]
push esi
call fcn.00438820
cmp byte [ebp - 0x41], 0
movd xmm0, dword [ebp - 0x12c]
movss xmm2, dword [ebp - 0x5c]
movss xmm3, dword [ebp - 0x68]
cvtdq2ps xmm0, xmm0
mov byte [ebp - 4], 7
addss xmm2, xmm0
addss xmm0, dword [ebp - 0xb0]
subss xmm2, xmm3
addss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0xa4], xmm2
movaps xmm1, xmm0
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x80]
maxss xmm0, xmm1
movss dword [ebp - 0x80], xmm0
je 0x43d4c0
mov eax, dword [ebp - 0x14]
inc eax
push eax
push dword [ebp - 0x28]
call fcn.00403cf0
movss xmm3, dword [ebp - 0x68]
mov esi, dword [ebp - 0x54]
inc esi
mov dword [ebp - 0x54], esi
cmp esi, dword [ebp - 0x74]
jge 0x43d4d4
mov edx, dword [ebp - 0x30]
jmp 0x43d260
movss xmm0, dword [ebp - 0x58]
mov ecx, dword [edi + 0x1b8]
mov eax, dword [ebp - 0x6c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xa4]
mov dword [ebp - 0xfc], eax
movss dword [ebp - 0xf4], xmm3
movss dword [ebp - 0xec], xmm0
cmp ecx, dword [edi + 0x1bc]
je 0x43d53c
movups xmm0, xmmword [ebp - 0xfc]
mov eax, dword [ebp - 0xec]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
add dword [edi + 0x1b8], 0x14
jmp 0x43d54f
lea eax, [ebp - 0xfc]
push eax
push ecx
lea ecx, [edi + 0x1b4]
call fcn.0043f8c0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x43d568
inc eax
push eax
push dword [ebp - 0x40]
call fcn.00403cf0
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebp - 0x88]
jae 0x43d581
movss xmm3, dword [ebp - 0x48]
jmp 0x43c4b9
movss xmm3, dword [edi + 0x16c]
movss xmm2, dword [ebp - 0x80]
movd xmm1, dword [edi + 0x94]
subss xmm2, xmm3
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5e00c8]
subss xmm1, dword [ebp - 0xcc]
subss xmm1, dword [ebp - 0x4c]
movaps xmm4, xmm1
movss dword [edi + 0x170], xmm4
movaps xmm0, xmm1
movss dword [edi + 0x174], xmm2
mov dword [edi + 0x148], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052f4c5
mov esp, ebp
pop ebp
ret 0x10
call fcn.00402970
call fcn.004057e0
int3