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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x114
mov ecx, dword [ecx]
movss xmm0, dword [edx]
mov ebx, dword [edx]
pxor xmm7, xmm7
comiss xmm7, xmm0
jae 0x438d77
mov esi, dword [ebp + 0x28]
movss xmm6, dword [0x4630a8]
movss xmm5, dword [0x4630ac]
movss xmm4, dword [0x4630b0]
movss xmm3, dword [0x4630b4]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edx
xor ebx, ebx
pxor xmm2, xmm2
mov dword [esp + 0x24], ebx
mov dword [esp + 0x8c], ebx
mov ebx, dword [ebp + 0x18]
and ebx, 0xf
mov dword [esp + 0x18], ebx
mov dword [esi], 0
mov edi, ebx
and edi, 3
mov dword [esp + 0x1c], edi
mov edi, ebx
neg edi
add edi, 0x10
shr edi, 2
mov dword [esp + 0x20], edi
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
movaps xmm1, xmm0
subss xmm1, dword [0x4630ac]
mov dword [esp + 0xdc], 0x3c23d70a
jne 0x43804a
movaps xmm1, xmm0
xor esi, esi
xor edx, edx
movss dword [esp + 0xa0], xmm1
cmp eax, 1
jne 0x438069
mov dword [esp + 0xd4], 0
jmp 0x438086
cmp eax, 0xffffffff
jne 0x43807b
mov dword [esp + 0xd4], 1
jmp 0x438086
mov dword [esp + 0xd4], 0xffffffff
mov eax, dword [ebp + 0x14]
movss xmm0, dword [eax]
ucomiss xmm0, dword [eax + ecx*4 - 4]
jp 0x43809a
je 0x439adf
mov dword [esp + 0x2c], 0
dec ecx
mov eax, 1
mov edi, eax
xor ebx, ebx
test ecx, ecx
jle 0x438483
mov dword [esp + 0x54], 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x64], edx
mov edx, dword [ebp + 0x14]
movss xmm4, dword [edx + eax*4]
movaps xmm1, xmm4
mov dword [esp + 0x68], ebx
mov ebx, dword [ebp + 0x18]
movss xmm7, dword [ebx + eax*4]
movaps xmm3, xmm7
lea edi, [ebx + eax*4 - 4]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x5c], edi
lea ecx, [edx + eax*4 - 4]
mov edx, dword [esp + 0x64]
movss xmm2, dword [ecx]
movss dword [esp + 0x58], xmm2
subss xmm1, xmm2
movss xmm2, dword [edi]
movss dword [0x4b5980], xmm1
movaps xmm0, xmm1
mulss xmm0, xmm1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x54]
subss xmm3, xmm2
movss dword [0x4b5984], xmm3
movaps xmm6, xmm3
mulss xmm6, xmm3
addss xmm0, xmm6
pxor xmm6, xmm6
addss xmm0, xmm6
movss xmm6, dword [0x4630b0]
sqrtss xmm0, xmm0
comiss xmm6, xmm0
movss dword [0x4b5988], xmm0
jbe 0x438196
movss xmm5, dword [0x4630bc]
movaps xmm0, xmm5
movaps xmm4, xmm5
movaps xmm7, xmm5
mov eax, 0x47c34f80
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xc0], eax
jmp 0x438289
movss xmm6, dword [esp + 0xd8]
movss dword [esp + 0x3c], xmm4
mulss xmm3, xmm6
divss xmm3, xmm0
mulss xmm6, xmm1
divss xmm6, xmm0
movss xmm4, dword [esp + 0x58]
movss dword [esp + 0x38], xmm6
movaps xmm5, xmm4
movaps xmm0, xmm2
movaps xmm1, xmm7
addss xmm5, xmm3
subss xmm0, xmm6
movaps xmm6, xmm2
subss xmm4, xmm5
subss xmm1, xmm0
mulss xmm4, xmm1
movss xmm1, dword [esp + 0x3c]
subss xmm1, xmm5
subss xmm6, xmm0
mulss xmm1, xmm6
pxor xmm6, xmm6
subss xmm4, xmm1
mulss xmm4, dword [0x4630b4]
movss dword [0x4b598c], xmm4
comiss xmm4, xmm6
movss xmm4, dword [esp + 0x3c]
jb 0x438246
subss xmm7, dword [esp + 0x38]
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xf0], xmm5
movss dword [esp + 0xc0], xmm7
addss xmm4, xmm3
movss dword [esp + 0xe0], xmm4
jmp 0x438289
movss xmm5, dword [esp + 0x58]
movss xmm1, dword [esp + 0x38]
movaps xmm0, xmm1
subss xmm5, xmm3
movss dword [esp + 0xf0], xmm5
addss xmm0, xmm2
movss dword [esp + 0xf4], xmm0
subss xmm4, xmm3
movss dword [esp + 0xe0], xmm4
addss xmm7, xmm1
movss dword [esp + 0xc0], xmm7
cmp ebx, 2
jge 0x438297
pxor xmm1, xmm1
jmp 0x4383f9
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
movss xmm1, dword [eax + ecx*4 - 4]
subss xmm1, dword [eax + ecx*4 - 8]
movss xmm2, dword [edi + ecx*4]
subss xmm2, dword [edi + ecx*4 - 8]
mulss xmm1, xmm2
movss xmm6, dword [eax + ecx*4]
subss xmm6, dword [eax + ecx*4 - 8]
movss xmm3, dword [edi + ecx*4 - 4]
subss xmm3, dword [edi + ecx*4 - 8]
mulss xmm6, xmm3
subss xmm1, xmm6
mulss xmm1, dword [0x4630b4]
pxor xmm2, xmm2
comiss xmm2, xmm1
jbe 0x4383f9
mov ebx, dword [esp + 0x4c]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0xa4], ebx
lea esi, [esi*4 + 0x1bd6efc]
mov dword [edi], edx
mov edi, dword [ebp + 0x20]
lea edx, [esi + 0x13880]
add esp, 0xffffffd4
movss dword [esp + 0x34], xmm1
lea eax, [esp + 0x104]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x11c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x88]
lea ebx, [esp + 0x120]
mov dword [esp + 0x1c], ebx
lea esi, [esp + 0xb0]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x108]
call fcn.0043a15c
movss xmm1, dword [esp + 8]
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x84]
mov ebx, dword [eax]
dec esi
cmp esi, 2
mov dword [ebx*4 + 0x1bfdffc], 0
jl 0x439aa4
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov ecx, 2
mov edi, dword [eax + ecx*4 - 4]
inc ebx
mov dword [ebx*4 + 0x1bfdffc], 0
mov dword [ebx*4 + 0x1bd6efc], edi
mov edi, dword [edx + ecx*4 - 4]
inc ecx
cmp ecx, esi
mov dword [ebx*4 + 0x1bea77c], edi
jle 0x4383a0
movss xmm5, dword [esp + 0xf0]
movss xmm0, dword [esp + 0xf4]
movss xmm4, dword [esp + 0xe0]
movss xmm7, dword [esp + 0xc0]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xa4]
lea eax, [ebx + 1]
pxor xmm2, xmm2
comiss xmm1, xmm2
jb 0x43840e
mov dword [eax*4 + 0x1bfdffc], ecx
jmp 0x438419
mov dword [eax*4 + 0x1bfdffc], 0
movss xmm1, dword [0x4630b8]
movss dword [eax*4 + 0x1bd6efc], xmm5
comiss xmm5, xmm1
movss dword [eax*4 + 0x1bea77c], xmm0
cmova eax, ebx
comiss xmm4, xmm1
lea ebx, [eax + 1]
movss dword [ebx*4 + 0x1bd6efc], xmm4
movss dword [ebx*4 + 0x1bea77c], xmm7
mov esi, ebx
mov edx, ebx
mov dword [ebx*4 + 0x1bfdffc], ecx
jbe 0x438464
mov ebx, eax
mov esi, ebx
mov edx, ebx
cmp ebx, 0x4dee
jg 0x439a87
inc ecx
cmp ecx, dword [esp + 0x48]
mov eax, ecx
mov dword [esp + 0x4c], ecx
jle 0x4380c8
mov edi, ecx
mov eax, dword [esp + 0x2c]
and eax, 1
mov dword [esp + 0x2c], eax
jne 0x439915
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
lea eax, [ebx - 1]
mov edx, 1
mov ecx, edx
test eax, eax
jle 0x438d77
mov dword [esp + 0x84], ebx
mov ebx, 0x4b189680
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xe0], ebx
mov ebx, 1
mov esi, dword [ebx*4 + 0x1bfdffc]
test esi, esi
je 0x4384ec
mov edi, dword [ebx*4 + 0x1bfe000]
test edi, edi
je 0x4384ec
cmp esi, edi
jne 0x438a8c
mov esi, dword [esp + 0x84]
lea edi, [ebx + 2]
cmp esi, edi
jl 0x439909
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x70], eax
cmp esi, ebx
je 0x438a78
mov eax, dword [esi*4 + 0x1bfdffc]
test eax, eax
je 0x438536
mov edx, dword [esi*4 + 0x1bfdff8]
test edx, edx
je 0x438536
cmp eax, edx
jne 0x438a78
mov dword [esp + 0xd0], esi
add esp, 0xffffffd4
mov ecx, dword [esp + 0x128]
lea edx, [ecx*4 + 0x1bd6efc]
lea ecx, [edx + 0x13880]
lea eax, [edx + 4]
mov dword [esp + 0xc], eax
lea eax, [edx + 0x13884]
mov dword [esp + 0x10], eax
lea eax, [esi*4 + 0x1bd6efc]
mov dword [esp + 0x14], eax
lea eax, [esi*4 + 0x1bea77c]
mov dword [esp + 0x18], eax
lea eax, [esi*4 + 0x1bd6ef8]
mov dword [esp + 0x1c], eax
lea eax, [eax + 0x13880]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x124]
call fcn.0043b33c
cmp dword [esp + 0xf8], 0
je 0x438a78
movss xmm3, dword [esp + 0xd8]
subss xmm3, dword [esp + 0xdc]
movss xmm6, dword [esp + 0xf0]
movss xmm2, dword [esp + 0xe0]
subss xmm2, xmm6
movaps xmm0, xmm2
andps xmm0, xmmword [0x462de0]
comiss xmm3, xmm0
jbe 0x438639
movss xmm1, dword [esp + 0xc0]
subss xmm1, dword [esp + 0xf4]
movaps xmm0, xmm1
andps xmm0, xmmword [0x462de0]
comiss xmm3, xmm0
jbe 0x438639
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
pxor xmm0, xmm0
addss xmm2, xmm0
sqrtss xmm1, xmm2
comiss xmm3, xmm1
ja 0x438a78
mov eax, dword [esp + 0xd4]
test eax, eax
jl 0x438955
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xcc], 0
cmp edx, 3
jl 0x438a78
movss xmm0, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
movss xmm5, dword [0x4630c8]
movss xmm3, dword [0x4630cc]
movss dword [esp + 0xb8], xmm0
movaps xmm4, xmm5
movaps xmm2, xmm3
movaps xmm1, xmm5
movss dword [esp + 0xe4], xmm1
movaps xmm7, xmm5
movss dword [esp + 0xe8], xmm7
movaps xmm1, xmm3
movaps xmm7, xmm3
movss dword [esp + 0xec], xmm7
mov dword [0x4b5950], ecx
mov dword [0x4b5954], 0x3a83126f
xor ecx, ecx
mov dword [esp + 0xb4], edi
mov edi, dword [ebp + 0x14]
mov dword [esp + 0xbc], ebx
mov ebx, dword [ebp + 0x18]
movss xmm0, dword [edi + ecx*4]
comiss xmm0, dword [0x4630b8]
ja 0x43875e
movss xmm5, dword [esp + 0xe4]
movss xmm4, dword [esp + 0xe8]
movss xmm2, dword [esp + 0xec]
movss xmm7, dword [ebx + ecx*4]
minss xmm5, xmm0
movss dword [esp + 0xe4], xmm5
minss xmm4, xmm7
movss dword [esp + 0xe8], xmm4
maxss xmm1, xmm0
movaps xmm3, xmm1
maxss xmm2, xmm7
movss dword [esp + 0xec], xmm2
movaps xmm7, xmm6
subss xmm7, xmm0
andps xmm7, xmmword [0x462de0]
movss xmm0, dword [0x4630c4]
comiss xmm0, xmm7
jbe 0x43875e
addss xmm6, dword [0x4630c4]
inc ecx
cmp ecx, edx
jb 0x4386df
movss xmm0, dword [esp + 0xb8]
mov edi, dword [esp + 0xb4]
movss dword [0x4b5958], xmm2
movss dword [0x4b595c], xmm3
movss dword [0x4b5960], xmm4
movss dword [0x4b5964], xmm5
movss dword [0x4b5968], xmm6
xor ecx, ecx
mov ebx, ecx
lea ecx, [ebx + 2]
inc ebx
cmp ebx, edx
jb 0x4387a3
mov ebx, dword [esp + 0xbc]
comiss xmm6, xmm1
mov dword [0x4b596c], ecx
jb 0x4387c7
test eax, eax
je 0x438a78
jmp 0x438809
comiss xmm0, dword [esp + 0xec]
jb 0x4387db
test eax, eax
je 0x438a78
jmp 0x438809
movss xmm1, dword [esp + 0xe4]
comiss xmm1, xmm6
jb 0x4387f3
test eax, eax
je 0x438a78
jmp 0x438809
movss xmm1, dword [esp + 0xe8]
comiss xmm1, xmm0
jb 0x438809
test eax, eax
je 0x438a78
xor ecx, ecx
mov dword [0x4b5974], ecx
mov dword [0x4b5978], ecx
dec edx
mov esi, 1
mov ecx, esi
test edx, edx
jle 0x438d5b
movss xmm4, dword [0x4630b8]
mov dword [esp + 0xb4], edi
mov edi, dword [ebp + 0x14]
mov eax, 1
mov ebx, edx
movss xmm2, dword [0x4b5968]
movss xmm1, dword [edi + eax*4]
movss xmm3, dword [edi + eax*4 - 4]
movaps xmm0, xmm3
minss xmm0, xmm1
comiss xmm0, xmm2
jae 0x4388be
maxss xmm3, xmm1
comiss xmm2, xmm3
jae 0x4388be
comiss xmm3, xmm4
ja 0x4388be
push 0x4b597c
push 0x4b5950
mov dword [0x4b5970], ecx
push 0x4b5968
mov ecx, dword [ebp + 0x18]
lea eax, [ecx + esi*4]
push eax
lea esi, [edi + esi*4]
lea edx, [esi - 4]
push esi
lea ecx, [eax - 4]
push ecx
push edx
call fcn.00431390
movss xmm4, dword [0x4630b8]
mov eax, dword [0x4b597c]
cmp eax, 1
je 0x438d50
cmp eax, 0xffffffff
je 0x438d40
mov eax, dword [0x4b5970]
inc eax
mov esi, eax
mov ecx, eax
cmp eax, ebx
jle 0x438840
mov edi, dword [esp + 0xb4]
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0xcc]
mov esi, dword [0x4b5974]
mov dword [0x4b5970], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xfc], ebx
mov ecx, esi
shr ecx, 0x1f
add ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
je 0x438934
test esi, esi
je 0x438934
mov esi, dword [0x4b5978]
mov ecx, esi
shr ecx, 0x1f
add ecx, esi
and ecx, 0xfffffffe
cmp esi, ecx
je 0x438934
test esi, esi
je 0x438934
test eax, eax
jne 0x438945
mov dword [esp + 0xcc], 1
jmp 0x438955
test eax, eax
je 0x438945
mov dword [esp + 0xcc], 1
jmp 0x438955
test edx, edx
jne 0x438955
mov esi, dword [esp + 0xd0]
jmp 0x438a78
mov esi, dword [ebp + 0x18]
add esp, 0xffffffd8
mov dword [esp + 0xc], esi
lea eax, [esp + 0x118]
mov dword [esp + 0x10], eax
lea edx, [esp + 0x11c]
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x100]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x14]
lea esi, [esp + 0xf4]
mov dword [esp + 0x1c], esi
lea eax, [esp + 0xd0]
mov dword [esp + 0x20], eax
lea edx, [esp + 0xd4]
mov dword [esp + 0x24], edx
lea eax, [esp + 0x104]
lea edx, [esp + 0xf0]
call fcn.00439b1c
cmp dword [esp + 0xcc], 0
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xc0], edx
je 0x4389e9
mov esi, dword [esp + 0xd0]
jmp 0x438a78
mov eax, dword [ebp + 0x1c]
movss xmm1, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf0]
mov esi, dword [ebp + 0x20]
mov eax, dword [eax]
lea edx, [eax + 1]
movss xmm2, dword [esp + 0xf4]
mov dword [esi + edx*4 - 4], ecx
mov ecx, dword [esp + 0xf4]
cmp edx, 1
mov esi, dword [ebp + 0x24]
mov dword [esi + edx*4 - 4], ecx
jle 0x438a6c
mov ecx, dword [ebp + 0x20]
subss xmm1, dword [ecx + edx*4 - 8]
movss xmm0, dword [0x4630a8]
andps xmm1, xmmword [0x462de0]
comiss xmm0, xmm1
jbe 0x438a6c
mov ecx, dword [ebp + 0x24]
subss xmm2, dword [ecx + edx*4 - 8]
movss xmm0, dword [0x4630a8]
andps xmm2, xmmword [0x462de0]
comiss xmm0, xmm2
jbe 0x438a6c
mov edx, dword [ebp + 0x1c]
mov esi, dword [esp + 0xd0]
mov dword [edx], eax
jmp 0x438a78
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0xd0]
mov dword [eax], edx
dec esi
cmp esi, edi
jge 0x438510
mov eax, dword [esp + 0x70]
mov dword [esp + 0xd0], esi
inc ebx
mov edx, ebx
mov ecx, ebx
cmp ebx, eax
jle 0x4384ce
mov eax, dword [ebp + 0x1c]
mov ebx, dword [eax]
test ebx, ebx
je 0x438d77
cmp dword [esp + 0x2c], 0
je 0x438ac5
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
mov edx, dword [ecx]
mov esi, dword [edi]
inc ebx
mov dword [ecx + ebx*4 - 4], edx
mov dword [edi + ebx*4 - 4], esi
mov dword [eax], ebx
mov dword [esp + 0x84], 1
xor eax, eax
mov dword [eax*4 + 0x1bfe000], 0
inc eax
cmp eax, 0x3e8
jb 0x438ad2
xor eax, eax
pxor xmm0, xmm0
movdqa xmmword [eax*4 + 0x1c11880], xmm0
movdqa xmmword [eax*4 + 0x1c11890], xmm0
movdqa xmmword [eax*4 + 0x1c118a0], xmm0
movdqa xmmword [eax*4 + 0x1c118b0], xmm0
add eax, 0x10
cmp eax, 0x1f0
jb 0x438aeb
mov eax, 0x1f0
mov dword [eax*4 + 0x1c11880], 0
inc eax
cmp eax, 0x1f4
jb 0x438b1e
lea ecx, [ebx - 3]
mov esi, 0xa
cmp ecx, 0xa
cmovge ecx, esi
lea eax, [ebx - 1]
mov edx, 1
test eax, eax
jle 0x4398fd
mov esi, dword [ebp + 0x20]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xa4], 1
mov ebx, dword [ebp + 0x24]
mov dword [esp + 0x44], eax
jmp 0x438b86
mov dword [esp + 0xa4], edx
mov dword [esp + 0xd4], ecx
lea eax, [ebx + edx*4]
lea ecx, [eax - 4]
lea edi, [esi + edx*4]
mov edx, dword [ebp + 0x14]
add esp, 0xffffffd8
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x10], edx
lea edx, [edi - 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
lea edi, [esp + 0xb8]
mov dword [esp + 0x24], edi
lea eax, [esp + 0x120]
lea edx, [esp + 0x100]
lea ecx, [esp + 0xf0]
call fcn.0043a7fc
add esp, 0xffffffe8
mov dword [esp + 0xc], ebx
lea edi, [esp + 0xbc]
mov ecx, esi
mov dword [esp + 0x10], edi
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
lea edx, [esp + 0xec]
call fcn.00439e6c
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x438cbb
cmp dword [esp + 0xd0], 0
mov edx, dword [esp + 0xa4]
lea edi, [edx*4]
je 0x438cc9
movss xmm5, dword [esi + edi - 4]
movaps xmm2, xmm5
subss xmm2, dword [eax*4 + 0x1bd6efc]
mulss xmm2, xmm2
movss xmm4, dword [ebx + edi - 4]
movaps xmm0, xmm4
subss xmm0, dword [eax*4 + 0x1bea77c]
mulss xmm0, xmm0
pxor xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
sqrtss xmm3, xmm2
comiss xmm3, dword [0x4630ec]
ja 0x438c83
mov ecx, dword [esp + 0xd4]
inc ecx
jmp 0x438d08
subss xmm5, dword [esi + edi]
mulss xmm5, xmm5
subss xmm4, dword [ebx + edi]
mulss xmm4, xmm4
addss xmm5, xmm4
pxor xmm0, xmm0
addss xmm5, xmm0
sqrtss xmm1, xmm5
comiss xmm1, dword [0x4630b4]
jbe 0x438c76
mov dword [esp + 0xd0], 0
jmp 0x438cc9
mov edx, dword [esp + 0xa4]
lea edi, [edx*4]
mov ecx, dword [edi + esi - 4]
mov edi, dword [ebx + edi - 4]
inc eax
mov dword [esp + 0xcc], eax
mov dword [eax*4 + 0x1bd6efc], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax*4 + 0x1bea77c], edi
mov edi, dword [ebp + 0x1c]
mov dword [ecx*4 + 0x1bfdffc], eax
mov ecx, dword [edi]
add ecx, 0xfffffffd
mov edi, 0xa
cmp ecx, 0xa
cmovge ecx, edi
cmp dword [esp + 0xf8], 0
je 0x438d33
mov edi, dword [esp + 0x84]
cmp dword [edi*4 + 0x1bfdffc], 0
je 0x438d33
inc edi
cmp edi, 0x1f4
je 0x438d6e
mov dword [esp + 0x84], edi
inc edx
cmp edx, dword [esp + 0x44]
jle 0x438b78
jmp 0x438d86
mov eax, dword [0x4b5970]
inc dword [0x4b5978]
jmp 0x4388be
inc dword [0x4b5974]
jmp 0x4388b9
mov dword [0x4b5970], 1
xor edx, edx
xor esi, esi
jmp 0x4388f9
mov esi, dword [ebp + 0x28]
mov dword [esi], 1
add esp, 0x114
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov edx, dword [ebp + 0x1c]
mov ebx, dword [edx]
mov edx, dword [esp + 0x84]
mov esi, dword [ebp + 0x20]
movss xmm1, dword [0x4630bc]
movaps xmm0, xmm1
mov edi, dword [esi + ebx*4 - 4]
inc eax
mov esi, dword [ebp + 0x24]
mov ebx, dword [esi + ebx*4 - 4]
mov dword [eax*4 + 0x1bd6efc], edi
xor esi, esi
mov dword [eax*4 + 0x1bea77c], ebx
xor ebx, ebx
test edx, edx
mov dword [edx*4 + 0x1bfdffc], eax
mov eax, 1
jle 0x4398f6
movss xmm2, dword [esp + 0xa0]
mulss xmm2, dword [0x4630d4]
mov edi, dword [esp + 0x24]
movss dword [esp + 0xa0], xmm2
mov dword [esp + 0xd4], ecx
xor ecx, ecx
mov dword [esp + 0x100], esi
mov dword [esp + 0x50], edx
mov edx, ecx
mov ecx, 1
and edi, 1
mov dword [esp + 0x9c], edi
cmp dword [ecx*4 + 0x1c1187c], 0
je 0x438e3c
inc ecx
cmp ecx, dword [esp + 0x50]
mov eax, ecx
jle 0x438e15
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
add esp, 0x114
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov dword [esp + 0xa4], eax
cmp ecx, 1
je 0x438e52
mov esi, dword [ecx*4 + 0x1bfdff8]
inc esi
jmp 0x438e57
mov esi, 1
mov edi, dword [ecx*4 + 0x1bfdffc]
mov dword [ecx*4 + 0x1c1187c], 1
mov eax, edi
sub eax, esi
inc eax
mov dword [esp + 0x74], eax
cmp edi, esi
jl 0x4398d8
movss xmm2, dword [0x4630bc]
mov ebx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
movaps xmm5, xmm2
xor eax, eax
lea ebx, [ebx + edx*4]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xb0], ecx
lea edi, [edi + edx*4]
shl esi, 2
mov dword [esp + 0x80], esi
mov dword [esp + 0x78], edi
inc edx
mov ecx, dword [esp + 0x80]
movss xmm3, dword [ecx + eax*4 + 0x1bd6efc]
mov edi, dword [ecx + eax*4 + 0x1bd6efc]
mov ebx, dword [esp + 0x7c]
movss xmm4, dword [ecx + eax*4 + 0x1bea77c]
mov dword [esp + 0x100], edx
mov dword [ebx + eax*4], edi
mov ebx, dword [ecx + eax*4 + 0x1bea77c]
mov esi, edx
mov ecx, dword [esp + 0x78]
mov dword [ecx + eax*4], ebx
inc eax
ucomiss xmm2, xmm5
jp 0x438ef3
je 0x438eff
inc edx
cmp eax, dword [esp + 0x74]
jb 0x438ead
jmp 0x4398b3
movaps xmm2, xmm3
movaps xmm1, xmm3
movaps xmm0, xmm4
inc edx
cmp eax, dword [esp + 0x74]
jb 0x438ead
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf0], edi
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xf8], 0
mov edx, 1
test eax, eax
mov dword [esp + 0xe0], 0x4b189680
jle 0x43989c
movss xmm0, dword [0x4630d0]
movss dword [esp + 0x88], xmm0
mov dword [esp + 0xc4], eax
mov ebx, 1
lea eax, [ebx*4]
inc ebx
cmp dword [eax + 0x1c1187c], 0
jne 0x439171
cmp ebx, dword [esp + 0xb0]
je 0x439171
mov esi, dword [eax + 0x1bfdff8]
mov ecx, dword [ebp + 0x20]
mov eax, dword [esp + 0x100]
mov edi, dword [ebp + 0x24]
lea ecx, [ecx + eax*4 - 4]
lea eax, [edi + eax*4 - 4]
lea edi, [esi*4 + 0x1bd6f00]
lea esi, [edi + 0x13880]
movss xmm2, dword [edi]
subss xmm2, dword [ecx]
mulss xmm2, xmm2
movss xmm0, dword [esi]
subss xmm0, dword [eax]
mulss xmm0, xmm0
addss xmm2, xmm0
pxor xmm1, xmm1
addss xmm2, xmm1
sqrtss xmm3, xmm2
comiss xmm3, dword [esp + 0xe0]
movss dword [esp + 0xc0], xmm3
ja 0x439171
movss xmm0, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x14]
movss dword [esp + 0x98], xmm0
mov dword [esp + 0xd0], edx
mov edx, dword [ebp + 0x18]
add esp, 0xffffffd8
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
lea esi, [esp + 0xb8]
mov dword [esp + 0x24], esi
lea eax, [esp + 0xbc]
lea edx, [esp + 0xc0]
lea ecx, [esp + 0xf0]
call fcn.0043a7fc
cmp dword [esp + 0x9c], 0
je 0x439095
mov eax, dword [esp + 0x94]
movss xmm0, dword [0x4630dc]
comiss xmm0, dword [esp + 0xc0]
jbe 0x43909c
test eax, eax
je 0x4390c6
mov dword [esp + 0x94], 0
jmp 0x4390c6
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4390c6
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc0], 0x4cbebc20
inc ebx
mov dword [esp + 0x100], eax
jmp 0x439171
cmp dword [esp + 0x8c], 0
movss xmm2, dword [esp + 0xe0]
je 0x439126
movss xmm1, dword [esp + 0x90]
movss xmm0, dword [esp + 0x88]
comiss xmm0, xmm1
jbe 0x439110
movss dword [esp + 0x88], xmm1
movaps xmm0, xmm2
minss xmm0, dword [esp + 0xc0]
movss dword [esp + 0xc0], xmm0
jmp 0x43912f
movaps xmm0, xmm2
addss xmm0, dword [0x4630ec]
movss dword [esp + 0xc0], xmm0
jmp 0x43912f
movss xmm0, dword [esp + 0xc0]
mov ebx, dword [esp + 0xd0]
minss xmm2, xmm0
movss dword [esp + 0xe0], xmm2
ucomiss xmm2, xmm0
jp 0x43914a
je 0x43915b
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
inc ebx
jmp 0x439171
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x100], eax
inc ebx
cmp ebx, dword [esp + 0xc4]
mov edx, ebx
jle 0x438f79
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xb0], eax
test eax, eax
je 0x439250
mov esi, dword [eax*4 + 0x1bfdff8]
mov ebx, dword [eax*4 + 0x1bfdffc]
mov dword [esp + 0x94], ebx
lea edx, [esi + 1]
mov dword [eax*4 + 0x1c1187c], 1
cmp ebx, edx
jl 0x438f32
mov ecx, dword [esp + 0x100]
mov edi, dword [ebp + 0x20]
lea eax, [ecx + 1]
sub ebx, edx
inc ebx
xor edx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x104], ebx
lea edx, [edi + ecx*4]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x6c]
lea edi, [edi + ecx*4]
lea ecx, [esi*4 + 4]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x108], edi
mov edi, dword [esp + 0x110]
mov ebx, dword [edi + edx*4 + 0x1bd6efc]
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x100], eax
mov ecx, eax
inc eax
mov dword [esi + edx*4], ebx
mov ebx, dword [edi + edx*4 + 0x1bea77c]
mov esi, dword [esp + 0x108]
mov dword [esi + edx*4], ebx
inc edx
cmp edx, dword [esp + 0x104]
jb 0x439207
mov dword [esp + 0xcc], ecx
jmp 0x438f32
lea eax, [esp + 0x90]
mov dword [esp + 0xd0], ebx
movss xmm0, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
movss dword [esp + 0x40], xmm0
add esp, 0xffffffd8
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
lea edx, [edi + ebx*4 - 4]
mov dword [esp + 0x14], edx
lea edi, [esp + 0x118]
mov dword [esp + 0x1c], edi
lea esi, [ecx + ebx*4 - 4]
mov dword [esp + 0x18], esi
lea edx, [esp + 0x11c]
mov dword [esp + 0x20], edx
lea eax, [esp + 0xbc]
lea edx, [esp + 0x68]
lea ecx, [esp + 0xf0]
call fcn.0043a7fc
mov ecx, dword [esp + 0xcc]
movss xmm2, dword [esp + 0xf0]
movaps xmm4, xmm2
mov eax, dword [ebp + 0x20]
subss xmm4, dword [eax + ecx*4 - 4]
mulss xmm4, xmm4
movss xmm1, dword [esp + 0xf4]
movaps xmm0, xmm1
mov edx, dword [ebp + 0x24]
subss xmm0, dword [edx + ecx*4 - 4]
mulss xmm0, xmm0
pxor xmm3, xmm3
movss xmm5, dword [0x4630ec]
addss xmm4, xmm0
movss xmm0, dword [esp + 0xd8]
addss xmm4, xmm3
minss xmm5, xmm0
sqrtss xmm3, xmm4
comiss xmm5, xmm3
jbe 0x439344
mov eax, dword [esp + 0x94]
movss dword [esp + 0xe0], xmm3
jmp 0x439600
addss xmm0, dword [0x4630e0]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
movss xmm3, dword [edi + ecx*4 - 4]
movss xmm4, dword [ebx + ecx*4 - 4]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
movss dword [esp + 0x34], xmm0
addss xmm3, xmm2
addss xmm4, xmm1
movss xmm2, dword [0x4630b4]
mulss xmm3, xmm2
movss dword [esp + 0xe0], xmm3
mulss xmm4, xmm2
movss dword [esp + 0xc0], xmm4
add esp, 0xffffffd8
mov dword [esp + 0xc], esi
lea edi, [esp + 0x108]
mov dword [esp + 0x10], edi
lea ebx, [esp + 0xe8]
mov dword [esp + 0x14], ebx
lea esi, [esp + 0x5c]
mov dword [esp + 0x18], esi
lea ebx, [esp + 0xf8]
mov dword [esp + 0x1c], ebx
lea esi, [esp + 0xd0]
mov dword [esp + 0x20], esi
lea eax, [esp + 0xd4]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x104]
lea edx, [esp + 0xf0]
call fcn.00439b1c
cmp dword [esp + 0xd0], 0
je 0x4395af
mov edx, dword [esp + 0xcc]
mov eax, dword [ebp + 0x20]
movss xmm4, dword [0x4630b4]
movss xmm0, dword [esp + 0xf0]
movss xmm1, dword [eax + edx*4 - 4]
mulss xmm1, xmm4
movss xmm2, dword [0x4630e4]
mulss xmm0, xmm2
mov eax, dword [ebp + 0x24]
movss xmm3, dword [esp + 0xf4]
mulss xmm3, xmm2
movss xmm5, dword [eax + edx*4 - 4]
mulss xmm5, xmm4
movss xmm6, dword [esp + 0xd8]
addss xmm6, dword [0x4630e0]
mov ecx, dword [ebp + 0x18]
movss dword [esp + 0x28], xmm6
addss xmm1, xmm0
mulss xmm1, xmm4
movss dword [esp + 0xe0], xmm1
addss xmm5, xmm3
mulss xmm5, xmm4
movss dword [esp + 0xc0], xmm5
add esp, 0xffffffd8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
lea eax, [esp + 0xe8]
mov dword [esp + 0x14], eax
lea edx, [esp + 0x50]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
lea ecx, [esp + 0xd4]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x104]
lea edx, [esp + 0xf0]
call fcn.00439b1c
cmp dword [esp + 0xd0], 0
je 0x4395af
mov ecx, dword [esp + 0xcc]
mov eax, dword [ebp + 0x20]
movss xmm2, dword [0x4630e4]
movss xmm0, dword [esp + 0xf0]
movss xmm1, dword [eax + ecx*4 - 4]
mulss xmm1, xmm2
movss xmm4, dword [0x4630b4]
mulss xmm0, xmm4
mov edx, dword [ebp + 0x24]
movss xmm3, dword [esp + 0xf4]
mulss xmm3, xmm4
movss xmm5, dword [edx + ecx*4 - 4]
mulss xmm5, xmm2
movss xmm6, dword [esp + 0xd8]
addss xmm6, dword [0x4630e0]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
movss dword [esp + 0xc], xmm6
addss xmm1, xmm0
mulss xmm1, xmm4
movss dword [esp + 0xe0], xmm1
addss xmm5, xmm3
mulss xmm5, xmm4
movss dword [esp + 0xc0], xmm5
add esp, 0xffffffd8
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
lea edi, [esp + 0xe8]
mov dword [esp + 0x14], edi
lea edi, [esp + 0x34]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
lea ebx, [esp + 0xd4]
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x104]
lea edx, [esp + 0xf0]
call fcn.00439b1c
cmp dword [esp + 0xd0], 0
jne 0x4395f9
mov dword [esp + 0x94], 1
cmp dword [esp + 0x8c], 0
jne 0x439655
movss xmm0, dword [esp + 0xd8]
addss xmm0, dword [0x4630e8]
mov ecx, dword [esp + 0xc8]
movss dword [esp + 0xd8], xmm0
mov dword [esp + 0x8c], 1
jmp 0x438021
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x4395ba
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xf0]
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0xf4]
mov edi, dword [ebp + 0x24]
movss xmm1, dword [0x4630bc]
movaps xmm0, xmm1
mov esi, 0x47c34f80
mov dword [eax + edx*4], ebx
mov dword [edi + edx*4], ecx
mov ecx, dword [esp + 0xa4]
add edx, 2
mov dword [esp + 0x100], edx
mov dword [eax + edx*4 - 4], esi
mov dword [edi + edx*4 - 4], esi
mov ebx, edx
jmp 0x438e1f
movss xmm1, dword [esp + 0xd8]
movaps xmm0, xmm1
mov eax, dword [esp + 0x14]
subss xmm0, dword [eax]
andps xmm0, xmmword [0x462de0]
comiss xmm0, dword [0x4630ec]
ja 0x439884
addss xmm1, dword [0x4630e0]
mov ecx, dword [esp + 0xc8]
movss dword [esp + 0xd8], xmm1
test ecx, ecx
jle 0x4396da
cmp ecx, 8
jl 0x439879
mov edx, ecx
and edx, 7
neg edx
add edx, ecx
xor eax, eax
pxor xmm0, xmm0
movaps xmmword [eax*4 + 0x1dcde20], xmm0
movaps xmmword [eax*4 + 0x1dcde30], xmm0
add eax, 8
cmp eax, edx
jb 0x4396b1
cmp edx, ecx
jae 0x4396da
xor eax, eax
mov dword [edx*4 + 0x1dcde20], eax
inc edx
cmp edx, ecx
jb 0x4396ce
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
add esp, 0xffffffdc
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x1dcde20
lea esi, [esp + 0xf0]
mov dword [esp + 0x20], 0x1dd2c40
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov eax, 0x462fb8
lea edx, [esp + 0xec]
call fcn.0043554c
mov ecx, dword [esp + 0xcc]
mov dword [0x4b5944], ecx
test ecx, ecx
jle 0x439855
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x43974d
cmp dword [esp + 0x1c], 0
jne 0x439880
mov ebx, dword [esp + 0x20]
lea eax, [ebx + 8]
cmp ecx, eax
jl 0x439880
mov edx, ecx
sub edx, ebx
and edx, 7
neg edx
add edx, ecx
test ebx, ebx
jbe 0x4397a0
mov esi, dword [ebp + 0x18]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0x20]
xor eax, eax
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x14]
mov edi, dword [edx + eax*4]
mov dword [ecx + eax*4], edi
mov edi, dword [ebx + eax*4]
mov dword [esi + eax*4], edi
inc eax
cmp eax, dword [esp + 0x10]
jb 0x439781
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 0x14]
lea esi, [eax + ebx*4]
test esi, 0xf
je 0x4397eb
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x18]
movups xmm0, xmmword [esi + ebx*4]
movups xmm1, xmmword [edi + ebx*4]
movups xmm2, xmmword [esi + ebx*4 + 0x10]
movups xmm3, xmmword [edi + ebx*4 + 0x10]
movups xmmword [eax + ebx*4], xmm0
movups xmmword [eax + ebx*4 + 0x10], xmm2
movaps xmmword [ecx + ebx*4], xmm1
movaps xmmword [ecx + ebx*4 + 0x10], xmm3
add ebx, 8
cmp ebx, edx
jb 0x4397be
jmp 0x439826
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x18]
movups xmm0, xmmword [esi + ebx*4]
movups xmm1, xmmword [edi + ebx*4]
movups xmm2, xmmword [esi + ebx*4 + 0x10]
movups xmm3, xmmword [edi + ebx*4 + 0x10]
movaps xmmword [eax + ebx*4], xmm0
movaps xmmword [ecx + ebx*4], xmm1
movaps xmmword [eax + ebx*4 + 0x10], xmm2
movaps xmmword [ecx + ebx*4 + 0x10], xmm3
add ebx, 8
cmp ebx, edx
jb 0x4397fb
mov ecx, dword [esp + 0x48]
cmp edx, ecx
jae 0x439855
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x18]
mov edi, dword [eax + edx*4]
mov dword [ebx + edx*4], edi
mov edi, dword [esi + edx*4]
mov dword [ecx + edx*4], edi
inc edx
cmp edx, dword [esp + 0x48]
jb 0x43983e
mov ecx, dword [esp + 0x48]
movss xmm0, dword [esp + 0xd8]
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], ecx
jmp 0x438021
xor edx, edx
jmp 0x4396c8
xor edx, edx
jmp 0x43982a
mov esi, dword [ebp + 0x28]
mov dword [esi], 3
add esp, 0x114
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov dword [esp + 0xd0], 1
lea eax, [esp + 0x90]
jmp 0x43925e
mov ecx, dword [esp + 0xb0]
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xf0], xmm1
mov dword [esp + 0xcc], esi
jmp 0x438f2b
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xf0], xmm1
mov dword [esp + 0xcc], ebx
jmp 0x438f2b
xor edx, edx
jmp 0x438e28
xor eax, eax
mov edx, 1
jmp 0x438d92
mov dword [esp + 0xd0], esi
jmp 0x438a8c
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
movss xmm1, dword [ecx + 4]
movss xmm3, dword [eax + 4]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0xc8]
subss xmm1, dword [ecx + ebx*4 - 8]
subss xmm3, dword [eax + ebx*4 - 8]
movss xmm0, dword [eax + ebx*4 - 4]
subss xmm0, dword [eax + ebx*4 - 8]
mulss xmm0, xmm1
movss xmm2, dword [ecx + ebx*4 - 4]
subss xmm2, dword [ecx + ebx*4 - 8]
mulss xmm3, xmm2
subss xmm0, xmm3
mulss xmm0, dword [0x4630b4]
mov ebx, dword [esp + 0x68]
pxor xmm4, xmm4
comiss xmm4, xmm0
jbe 0x439a39
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0xa4], edi
lea esi, [esi*4 + 0x1bd6efc]
lea eax, [esi + 0x13880]
mov dword [ebx], edx
mov ebx, dword [ebp + 0x24]
add esp, 0xffffffd4
movss dword [esp + 0x2c], xmm0
mov dword [esp + 0x18], 0x1bd6f00
mov dword [esp + 0x1c], 0x1bea780
lea edi, [esp + 0x104]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
lea edx, [esp + 0xb0]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x28], ebx
lea eax, [esp + 0x108]
call fcn.0043a15c
movss xmm0, dword [esp]
mov eax, dword [esp + 0x84]
mov edx, dword [ebp + 0x1c]
mov ebx, dword [edx]
dec eax
cmp eax, 2
jl 0x439a7a
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov esi, 2
mov edi, dword [edx + esi*4 - 4]
inc ebx
mov dword [ebx*4 + 0x1bfdffc], 0
mov dword [ebx*4 + 0x1bd6efc], edi
mov edi, dword [ecx + esi*4 - 4]
inc esi
cmp esi, eax
mov dword [ebx*4 + 0x1bea77c], edi
jle 0x439a0b
mov dword [esp + 0xd0], esi
inc ebx
pxor xmm1, xmm1
comiss xmm0, xmm1
jb 0x439a51
mov eax, dword [0x1bfe000]
mov dword [ebx*4 + 0x1bfdffc], eax
jmp 0x439a5c
mov dword [ebx*4 + 0x1bfdffc], 0
mov eax, dword [0x1bd6f00]
mov edx, dword [0x1bea780]
mov dword [ebx*4 + 0x1bd6efc], eax
mov dword [ebx*4 + 0x1bea77c], edx
jmp 0x438494
mov dword [esp + 0xd0], 2
jmp 0x439a39
mov esi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x1c]
mov dword [esi], 1
mov dword [eax], edx
add esp, 0x114
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [esp + 0xa4]
movss xmm5, dword [esp + 0xf0]
movss xmm0, dword [esp + 0xf4]
movss xmm4, dword [esp + 0xe0]
movss xmm7, dword [esp + 0xc0]
mov dword [esp + 0xd0], 2
jmp 0x4383f9
mov eax, dword [ebp + 0x18]
movss xmm0, dword [eax]
ucomiss xmm0, dword [eax + ecx*4 - 4]
jne 0x43809a
jp 0x43809a
mov dword [esp + 0x2c], 0xffffffff
jmp 0x4380a2