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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x84
mov ebx, dword [ebp + 0x28]
mov edi, dword [edx]
cmp edi, 1
mov dword [ebx], 0
je 0x437916
movsd xmm0, qword [0x462e88]
jge 0x436380
xor esi, esi
jmp 0x4364f2
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x6c], ecx
xor ebx, ebx
mov eax, 0x4b189680
mov edx, 0xcb189680
test ebx, ebx
mov dword [ebx*4 + 0x1cd5560], eax
mov dword [ebx*4 + 0x1cd6500], eax
mov dword [ebx*4 + 0x1cd5d30], edx
mov dword [ebx*4 + 0x1cd6cd0], edx
je 0x4363c2
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + ebx*4 - 4]
inc eax
jmp 0x4363c7
mov eax, 1
mov edx, dword [ebp + 0x18]
mov esi, dword [edx + ebx*4]
mov edx, esi
sub edx, eax
inc edx
cmp esi, eax
jl 0x436462
movss xmm3, dword [ebx*4 + 0x1cd5560]
movss xmm2, dword [ebx*4 + 0x1cd5d30]
movss xmm1, dword [ebx*4 + 0x1cd6500]
movss xmm0, dword [ebx*4 + 0x1cd6cd0]
mov edi, dword [esp + 0x6c]
mov dword [esp], ebx
xor ecx, ecx
lea edi, [edi + eax*4]
mov dword [esp + 4], edi
mov edi, dword [ebp + 0x14]
lea edi, [edi + eax*4]
mov ebx, edi
mov edi, dword [esp + 4]
movss xmm4, dword [edi + ecx*4 - 4]
movss xmm5, dword [ebx + ecx*4 - 4]
minss xmm3, xmm4
maxss xmm2, xmm4
minss xmm1, xmm5
maxss xmm0, xmm5
inc ecx
cmp ecx, edx
jb 0x43641a
mov ebx, dword [esp]
movss dword [ebx*4 + 0x1cd6cd0], xmm0
movss dword [ebx*4 + 0x1cd6500], xmm1
movss dword [ebx*4 + 0x1cd5d30], xmm2
movss dword [ebx*4 + 0x1cd5560], xmm3
cmp esi, eax
jl 0x437909
mov esi, dword [esp + 0x6c]
mov edi, dword [ebp + 0x14]
mov dword [esp], ebx
xor ecx, ecx
lea esi, [esi + eax*4]
lea edi, [edi + eax*4]
mov ebx, dword [esi + ecx*4 - 4]
mov dword [ecx*4 + 0x1c12060], ebx
mov ebx, dword [edi + ecx*4 - 4]
lea eax, [ecx + 1]
mov dword [ecx*4 + 0x1c42da0], ebx
mov ecx, eax
cmp eax, edx
jb 0x43647c
mov ebx, dword [esp]
mov dword [esp + 0x54], eax
add esp, 0xffffffec
mov dword [esp + 0xc], 0x462c3c
mov edx, 0x1c12060
mov ecx, 0x1c42da0
lea esi, [esp + 0x6c]
mov dword [esp + 0x10], esi
lea eax, [esp + 0x68]
call fcn.00437a5c
mov eax, dword [esp + 0x58]
mov dword [ebx*4 + 0x1cd74a0], eax
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x43638e
movsd xmm0, qword [0x462e88]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [edx]
xor esi, esi
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
mov eax, esi
pxor xmm1, xmm1
nop
lea esi, [esi]
lea edi, [edi]
movdqa xmmword [eax*4 + 0x1cd7c70], xmm1
movdqa xmmword [eax*4 + 0x1ce18b0], xmm1
movdqa xmmword [eax*4 + 0x1cd7c80], xmm1
movdqa xmmword [eax*4 + 0x1ce18c0], xmm1
movdqa xmmword [eax*4 + 0x1cd7c90], xmm1
movdqa xmmword [eax*4 + 0x1ce18d0], xmm1
movdqa xmmword [eax*4 + 0x1cd7ca0], xmm1
movdqa xmmword [eax*4 + 0x1ce18e0], xmm1
add eax, 0x10
cmp eax, 0x1380
jb 0x436510
mov dword [0x1cdca70], esi
mov ebx, 1
test edi, edi
mov dword [0x1ce66b0], esi
mov dword [0x1cdca74], esi
mov dword [0x1ce66b4], esi
mov dword [0x1cdca78], esi
mov dword [0x1ce66b8], esi
mov dword [0x1cdca7c], esi
mov dword [0x1ce66bc], esi
mov dword [0x1cdca80], esi
mov dword [0x1ce66c0], esi
mov dword [0x1cdca84], esi
mov dword [0x1ce66c4], esi
mov dword [0x1cdca88], esi
mov dword [0x1ce66c8], esi
mov dword [0x1cdca8c], esi
mov dword [0x1ce66cc], esi
jle 0x436a97
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov edx, esi
mov dword [esp + 0x6c], ecx
mov eax, 1
mov dword [esp + 0x40], eax
mov esi, eax
pxor xmm2, xmm2
mov ecx, eax
jmp 0x4365f9
mov ecx, 1
mov eax, ecx
mov dword [esp + 0x2c], eax
jmp 0x43660d
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + esi*4 - 8]
inc ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + esi*4 - 4]
lea edi, [ecx - 1]
cmp edi, dword [esp + 0x2c]
lea eax, [ebx*4]
mov dword [esp + 0x10], eax
jl 0x436a3c
mov dword [esp + 0x30], edi
mov dword [esp + 4], ecx
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x2c]
mov esi, dword [ebp + 0x14]
mov ecx, dword [eax + edi*4 - 4]
mov eax, dword [esi + edi*4 - 4]
inc edx
mov dword [edx*4 + 0x1c73adc], ecx
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx]
test esi, esi
mov dword [edx*4 + 0x1ca481c], eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], esi
jle 0x436a21
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x2c]
mov dword [ecx + 0x1cdca8c], eax
mov dword [esp + 0x54], 0
xor eax, eax
mov dword [ecx + 0x1cd7c6c], edx
mov dword [esp + 0xc], 1
lea ecx, [edi + esi*4]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], ebx
mov ebx, esi
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
lea ecx, [ecx - 4]
lea esi, [edi + esi*4]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
lea esi, [esi - 4]
mov dword [esp + 0x18], esi
cmp ecx, eax
je 0x436831
movss xmm1, dword [edi + ebx*4]
movss xmm3, dword [edi + ebx*4 - 4]
movaps xmm0, xmm3
minss xmm0, xmm1
comiss xmm0, dword [ecx*4 + 0x1cd5d2c]
ja 0x436831
movss xmm0, dword [ecx*4 + 0x1cd555c]
maxss xmm3, xmm1
comiss xmm0, xmm3
ja 0x436831
mov esi, dword [ebp + 0x14]
movss xmm3, dword [esi + ebx*4]
movss xmm1, dword [esi + ebx*4 - 4]
movaps xmm0, xmm1
minss xmm0, xmm3
comiss xmm0, dword [ecx*4 + 0x1cd6ccc]
ja 0x436831
movss xmm0, dword [ecx*4 + 0x1cd64fc]
maxss xmm1, xmm3
comiss xmm0, xmm1
ja 0x436831
cmp ecx, 1
je 0x436768
mov esi, dword [ebp + 0x18]
mov esi, dword [esi + ecx*4 - 8]
inc esi
mov dword [esp], esi
jmp 0x436770
mov esi, 1
mov dword [esp], esi
mov esi, dword [ebp + 0x18]
mov esi, dword [esi + ecx*4 - 4]
dec esi
cmp esi, dword [esp]
mov dword [esp + 8], esi
jl 0x436831
mov ebx, dword [esp]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0x14]
lea edx, [edi + ebx*4]
lea eax, [eax + ebx*4]
add esp, 0xffffffd4
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
lea ecx, [edx - 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
lea ecx, [eax - 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x24], eax
lea edx, [esp + 0x90]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x84]
call fcn.0043b33c
cmp dword [esp + 0x58], 0
je 0x43680e
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
inc esi
mov dword [esp + 0x54], esi
mov dword [esi*4 + 0x1c1205c], eax
mov dword [esi*4 + 0x1c42d9c], edx
inc ebx
cmp ebx, dword [esp + 8]
jle 0x436790
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], esi
pxor xmm2, xmm2
inc ecx
cmp ecx, edx
jle 0x4366df
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
test eax, eax
mov edx, dword [esp + 0x14]
je 0x436a21
cmp eax, 2
jl 0x4378f2
movss xmm1, dword [ecx]
movss xmm0, dword [esi]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], edx
mov esi, 2
mov ecx, 1
movss xmm4, dword [esi*4 + 0x1c1205c]
mov ebx, dword [esi*4 + 0x1c1205c]
movss xmm3, dword [esi*4 + 0x1c42d9c]
mov edx, dword [esi*4 + 0x1c42d9c]
mov dword [0x4b5998], ebx
subss xmm4, xmm1
mulss xmm4, xmm4
mov dword [0x4b599c], edx
subss xmm3, xmm0
mulss xmm3, xmm3
mov eax, ecx
mov edi, ecx
addss xmm4, xmm3
addss xmm4, xmm2
cmp esi, 2
sqrtss xmm3, xmm4
jl 0x43693c
mov dword [esp + 0x34], esi
mov esi, eax
movss xmm5, dword [esi*4 + 0x1c1205c]
movss xmm4, dword [esi*4 + 0x1c42d9c]
subss xmm5, xmm1
mulss xmm5, xmm5
subss xmm4, xmm0
mulss xmm4, xmm4
addss xmm5, xmm4
addss xmm5, xmm2
sqrtss xmm4, xmm5
comiss xmm3, xmm4
jae 0x4378e1
mov esi, dword [eax*4 + 0x1c1205c]
mov edi, dword [eax*4 + 0x1c42d9c]
mov dword [eax*4 + 0x1c12060], esi
mov dword [eax*4 + 0x1c42da0], edi
dec eax
mov esi, eax
mov edi, eax
test eax, eax
jg 0x4368d4
mov esi, dword [esp + 0x34]
movss dword [0x4b59a0], xmm4
xor edi, edi
xor eax, eax
mov dword [eax*4 + 0x1c12060], ebx
mov dword [eax*4 + 0x1c42da0], edx
inc ecx
inc esi
cmp esi, dword [esp + 0x4c]
jle 0x43687d
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
movss dword [0x4b59ac], xmm3
mov dword [0x4b59a8], edi
mov dword [0x4b59a4], esi
mov dword [esp + 0x4c], eax
xor ecx, ecx
shl edx, 2
lea esi, [ebx*4]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], edx
lea esi, [esi]
lea edi, [edi]
mov esi, dword [ecx*4 + 0x1c12060]
mov eax, dword [esp + 0x60]
mov edx, dword [ecx*4 + 0x1c42da0]
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x5c]
mov dword [eax + ecx*8 + 0x1c73ae0], esi
mov dword [eax + ecx*8 + 0x1ca4820], edx
mov dword [eax + ecx*8 + 0x1c73ae4], esi
mov esi, edx
mov dword [eax + ecx*8 + 0x1ca4824], esi
lea edx, [edi + ecx*2]
lea edi, [edx + 1]
mov dword [ebx + ecx*4 + 0x1cd7c6c], edi
mov edi, dword [esp + 0x40]
mov dword [ebx + ecx*4 + 0x1cdca8c], edi
mov ebx, dword [esp + 0x48]
lea ebx, [ecx + ebx + 1]
add edx, 2
inc ecx
cmp ecx, dword [esp + 0x4c]
jb 0x4369a0
mov esi, dword [esp + 0x5c]
mov eax, edi
mov dword [esi + ecx*4 + 0x1cd7c6c], edx
mov dword [esi + ecx*4 + 0x1cdca8c], eax
lea ecx, [ebx*4]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
jle 0x436638
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x6c]
mov edi, dword [edi + ecx*4 - 4]
lea eax, [ebx + 1]
inc edx
cmovne ebx, eax
mov dword [edx*4 + 0x1c73adc], edi
mov edi, dword [ebp + 0x14]
mov ecx, dword [edi + ecx*4 - 4]
mov dword [edx*4 + 0x1ca481c], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1cd7c6c], edx
mov dword [ecx + 0x1cdca8c], esi
inc esi
cmp esi, dword [esp + 0x38]
jg 0x436a85
cmp esi, 1
je 0x4365f4
jmp 0x436601
movsd xmm0, qword [0x462e88]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
xor esi, esi
cmp dword [ebx*4 + 0x1cd7c6c], 0
lea eax, [ebx - 1]
cmove ebx, eax
test ebx, ebx
jle 0x436f61
movss xmm6, dword [0x463058]
movss xmm3, dword [0x46305c]
movss xmm2, dword [0x463060]
mov eax, 1
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x6c], ecx
cmp eax, 1
je 0x436ae5
mov ecx, dword [eax*4 + 0x1cd7c68]
inc ecx
jmp 0x436aea
mov ecx, 1
mov edx, dword [eax*4 + 0x1cd7c6c]
mov ebx, edx
sub ebx, ecx
cmp ebx, 1
jne 0x436b2b
movss xmm1, dword [edx*4 + 0x1c73adc]
addss xmm1, dword [edx*4 + 0x1c73ad8]
mulss xmm1, xmm6
movss xmm0, dword [edx*4 + 0x1ca481c]
addss xmm0, dword [edx*4 + 0x1ca4818]
mulss xmm0, xmm6
jmp 0x436beb
mov esi, ecx
dec edx
cmp ecx, edx
jg 0x436bbf
movss xmm4, dword [0x46305c]
mov dword [esp + 0xc], eax
lea edi, [ecx*4]
xor edx, edx
pxor xmm5, xmm5
movss xmm7, dword [edi + 0x1c73adc]
movss xmm2, dword [edi + 0x1ca481c]
nop
movss xmm1, dword [edi + edx*4 + 0x1c73ae0]
movaps xmm0, xmm1
movss xmm3, dword [edi + edx*4 + 0x1ca4820]
lea eax, [ecx + edx]
subss xmm0, xmm7
movaps xmm7, xmm3
andps xmm0, xmmword [0x462dc0]
inc edx
subss xmm7, xmm2
movaps xmm2, xmm5
andps xmm7, xmmword [0x462dc0]
addss xmm0, xmm7
movaps xmm5, xmm0
movaps xmm7, xmm1
maxss xmm5, xmm2
movaps xmm2, xmm3
subss xmm0, xmm5
andps xmm0, xmmword [0x462dc0]
comiss xmm4, xmm0
cmova esi, eax
cmp edx, ebx
jb 0x436b60
mov eax, dword [esp + 0xc]
movss xmm1, dword [esi*4 + 0x1c73adc]
addss xmm1, dword [esi*4 + 0x1c73ae0]
mulss xmm1, xmm6
movss xmm0, dword [esi*4 + 0x1ca481c]
addss xmm0, dword [esi*4 + 0x1ca4820]
mulss xmm0, xmm6
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test edx, edx
jle 0x4378d8
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm1
mov dword [esp + 0x24], edx
xor esi, esi
mov dword [esp + 4], esi
xor ebx, ebx
mov ecx, 1
cmp ecx, dword [eax*4 + 0x1cdca8c]
je 0x436f02
cmp ecx, 1
je 0x436c32
mov edx, dword [ebp + 0x18]
mov esi, dword [edx + ecx*4 - 8]
inc esi
jmp 0x436c37
mov esi, 1
mov edi, dword [ebp + 0x18]
mov edi, dword [edi + ecx*4 - 4]
xor edx, edx
cmp edi, esi
jl 0x436c7f
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax + esi*4 - 4]
inc edx
mov dword [edx*4 + 0x1c1205c], ebx
mov ebx, dword [ecx + esi*4 - 4]
mov dword [edx*4 + 0x1c42d9c], ebx
inc esi
cmp esi, edi
jle 0x436c57
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp edx, 3
jl 0x436f02
movss xmm2, dword [esp + 0x68]
movss xmm4, dword [esp + 0x64]
mov esi, dword [esp + 0x64]
movss xmm5, dword [0x463064]
movss xmm3, dword [0x463068]
movss dword [esp + 8], xmm4
movaps xmm6, xmm5
movaps xmm0, xmm3
movaps xmm1, xmm5
movaps xmm7, xmm5
movss dword [esp + 0x1c], xmm7
movaps xmm7, xmm3
movss dword [esp + 0x20], xmm7
movss dword [esp + 0x18], xmm7
mov dword [0x4b5950], esi
mov dword [0x4b5954], 0x3a83126f
mov esi, 1
movss xmm4, dword [esi*4 + 0x1c1205c]
comiss xmm4, dword [0x46306c]
ja 0x436d59
movss xmm7, dword [esi*4 + 0x1c42d9c]
movss xmm6, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x20]
movss xmm0, dword [esp + 0x18]
minss xmm1, xmm4
movaps xmm5, xmm1
minss xmm6, xmm7
movss dword [esp + 0x1c], xmm6
maxss xmm3, xmm4
movss dword [esp + 0x20], xmm3
maxss xmm0, xmm7
movss dword [esp + 0x18], xmm0
movaps xmm7, xmm2
subss xmm7, xmm4
andps xmm7, xmmword [0x462dc0]
movss xmm4, dword [0x463060]
comiss xmm4, xmm7
jbe 0x436d59
addss xmm2, dword [0x463060]
inc esi
cmp esi, edx
jle 0x436ce4
comiss xmm2, dword [esp + 0x20]
movss xmm4, dword [esp + 8]
movss dword [0x4b5958], xmm0
movss dword [0x4b595c], xmm3
movss dword [0x4b5960], xmm6
movss dword [0x4b5964], xmm5
movss dword [0x4b5968], xmm2
mov dword [0x4b596c], esi
jae 0x436f02
comiss xmm4, dword [esp + 0x18]
jae 0x436f02
comiss xmm1, xmm2
jae 0x436f02
movss xmm0, dword [esp + 0x1c]
comiss xmm0, xmm4
jae 0x436f02
xor esi, esi
mov dword [0x4b5974], esi
mov dword [0x4b5978], esi
lea esi, [edx - 1]
mov edi, 1
mov dword [esp], edi
test esi, esi
jle 0x4378c5
movss xmm4, dword [0x46306c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp]
mov edx, 1
mov dword [esp + 0xc], eax
mov eax, edi
movss xmm2, dword [0x4b5968]
movss xmm3, dword [edx*4 + 0x1c1205c]
movaps xmm0, xmm3
movss xmm1, dword [edx*4 + 0x1c12060]
minss xmm0, xmm1
comiss xmm0, xmm2
jae 0x436e93
maxss xmm3, xmm1
comiss xmm2, xmm3
jae 0x436e93
comiss xmm3, xmm4
ja 0x436e93
push 0x4b597c
push 0x4b5950
mov dword [0x4b5970], eax
push 0x4b5968
lea edi, [ecx*4 + 0x1c1205c]
lea ecx, [edi + 0x30d40]
lea eax, [edi + 0x30d44]
push eax
lea edx, [edi + 4]
push edx
push ecx
push edi
call fcn.00431390
movss xmm4, dword [0x46306c]
mov eax, dword [0x4b597c]
cmp eax, 1
je 0x4378ba
cmp eax, 0xffffffff
je 0x4378a9
mov edx, dword [0x4b5970]
inc edx
mov ecx, edx
mov eax, edx
cmp edx, esi
jle 0x436e07
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edi, dword [0x4b5974]
mov dword [0x4b5970], edx
mov edx, dword [esp + 0x58]
mov esi, edi
shr esi, 0x1f
add esi, edi
and esi, 0xfffffffe
cmp edi, esi
je 0x436ee2
test edi, edi
je 0x436ee2
mov edi, dword [0x4b5978]
mov esi, edi
shr esi, 0x1f
add esi, edi
and esi, 0xfffffffe
cmp edi, esi
je 0x436ee2
test edi, edi
jne 0x436ee6
test edx, edx
je 0x436f02
cmp dword [ecx*4 + 0x1cd749c], 1
mov esi, dword [esp + 4]
lea edx, [esi + 1]
cmove esi, edx
mov dword [esp + 4], esi
lea edi, [ebx - 1]
cmovne ebx, edi
inc ecx
cmp ecx, dword [esp + 0x24]
jle 0x436c16
movss xmm6, dword [0x463058]
mov esi, dword [esp + 4]
mov edx, dword [eax*4 + 0x1cdca8c]
add esi, ebx
cmp dword [edx*4 + 0x1cd749c], 1
je 0x43789a
mov edx, 1
test esi, esi
mov esi, 0
cmovle esi, edx
mov dword [eax*4 + 0x1ce18ac], esi
inc eax
cmp eax, dword [esp + 0x50]
jle 0x436ad6
movsd xmm0, qword [0x462e88]
mov ebx, dword [esp + 0x50]
xor esi, esi
test ebx, ebx
mov edx, esi
jle 0x437882
movsd xmm4, qword [0x462e78]
movsd xmm1, qword [0x462e80]
movaps xmm5, xmm0
movaps xmm3, xmm0
mov dword [esp + 0x4c], edx
mov edi, esi
mov dword [esp + 0x50], ebx
mov eax, 1
cmp dword [eax*4 + 0x1ce18ac], 0
mov dword [esp + 0x20], edi
jne 0x437314
cmp eax, 1
je 0x436faf
mov ecx, dword [eax*4 + 0x1cd7c68]
inc ecx
jmp 0x436fb4
mov ecx, 1
mov ebx, dword [eax*4 + 0x1cd7c6c]
mov dword [eax*4 + 0x1ce18ac], 1
mov edx, ebx
sub edx, ecx
mov dword [esp + 0x48], ebx
inc edx
cmp ebx, ecx
jl 0x43726f
mov esi, edx
xor edx, edx
lea ebx, [ecx*4]
ucomisd xmm5, xmm0
jne 0x437001
jp 0x437001
cvtss2sd xmm5, dword [ebx + edx*4 + 0x1c73adc]
cvtss2sd xmm3, dword [ebx + edx*4 + 0x1ca481c]
inc edx
cmp edx, esi
jb 0x436fe2
mov edx, dword [esp + 0x48]
mov dword [esp + 0x28], edi
lea edi, [ecx*4 + 0x1c73aec]
sub edx, ecx
inc edx
mov dword [esp + 0x5c], edx
and edi, 0xf
mov esi, edi
neg esi
add esi, 0x10
shr esi, 2
test edi, edi
cmovne edi, esi
lea esi, [edi + 8]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x28]
cmp edx, esi
jl 0x43787b
mov esi, edx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x18]
mov edx, esi
sub edx, ebx
and edx, 7
neg edx
add edx, esi
mov esi, dword [ebp + 0x20]
lea esi, [esi + edi*4]
test ebx, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 0x24]
lea esi, [esi + edi*4]
mov dword [esp + 0x10], esi
jbe 0x4370b8
mov dword [esp + 0x28], edi
mov dword [esp + 8], edx
mov edx, esi
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
xor esi, esi
mov ecx, esi
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + ecx*4 + 0x1c73adc]
mov dword [esi + ecx*4], edi
mov edi, dword [ebx + ecx*4 + 0x1ca481c]
mov dword [edx + ecx*4], edi
inc ecx
cmp ecx, eax
jb 0x43708b
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 4]
mov dword [esp + 4], eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov dword [esp + 0x1c], ebx
lea esi, [edi + ecx + 1]
mov dword [esp + 8], edx
lea edx, [edi + ecx]
lea edi, [esi + 1]
lea eax, [esi + 2]
lea ecx, [esi + 3]
mov ebx, 4
movd xmm2, ebx
mov ebx, dword [ebp + 0x24]
pshufd xmm6, xmm2, 0
lea edx, [ebx + edx*4]
test dl, 0xf
movd xmm2, esi
movd xmm1, edi
punpckldq xmm2, xmm1
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
movd xmm1, eax
mov eax, dword [esp + 4]
movd xmm7, ecx
punpckldq xmm1, xmm7
punpcklqdq xmm2, xmm1
mov ecx, dword [esp + 0x30]
je 0x43718b
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
lea esi, [esi]
movaps xmm1, xmmword [ebx + esi*4 + 0x1c73adc]
movaps xmm7, xmmword [ebx + esi*4 + 0x1ca481c]
movups xmmword [ecx + esi*4], xmm1
movups xmmword [eax + esi*4], xmm7
movdqa xmm1, xmm2
movaps xmm2, xmmword [ebx + esi*4 + 0x1c73aec]
movups xmmword [ecx + esi*4 + 0x10], xmm2
movaps xmm2, xmmword [ebx + esi*4 + 0x1ca482c]
movups xmmword [eax + esi*4 + 0x10], xmm2
movdqa xmm2, xmm6
paddd xmm1, xmm6
add esi, 8
paddd xmm2, xmm1
cmp esi, edx
jb 0x437140
jmp 0x4371e9
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
nop
movaps xmm1, xmmword [ebx + esi*4 + 0x1c73adc]
movaps xmm7, xmmword [ebx + esi*4 + 0x1ca481c]
movups xmmword [ecx + esi*4], xmm1
movaps xmmword [eax + esi*4], xmm7
movdqa xmm1, xmm2
movaps xmm2, xmmword [ebx + esi*4 + 0x1c73aec]
movups xmmword [ecx + esi*4 + 0x10], xmm2
movaps xmm2, xmmword [ebx + esi*4 + 0x1ca482c]
movaps xmmword [eax + esi*4 + 0x10], xmm2
movdqa xmm2, xmm6
paddd xmm1, xmm6
add esi, 8
paddd xmm2, xmm1
cmp esi, edx
jb 0x4371a0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 4]
mov dword [esp + 0x18], esi
add edi, dword [esp + 0x18]
psrldq xmm1, 0xc
movd dword [esp + 0x4c], xmm1
mov esi, dword [esp + 0x20]
cmp edx, dword [esp + 0x5c]
lea esi, [esi + edx]
mov dword [esp + 0xc], esi
jae 0x43726f
mov edi, dword [ebp + 0x20]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], eax
lea edi, [edi + esi*4]
mov dword [esp + 0x6c], edi
mov edi, dword [ebp + 0x24]
lea esi, [edi + esi*4]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [ebx + edx*4 + 0x1c73adc]
mov dword [esi + edx*4], ecx
mov edi, eax
mov ecx, dword [ebx + edx*4 + 0x1ca481c]
mov esi, dword [esp + 0x60]
mov dword [esi + edx*4], ecx
mov ecx, edi
inc edx
cmp edx, dword [esp + 0x5c]
jb 0x437239
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 4]
movaps xmm1, xmm5
mov ebx, dword [ebp + 0x20]
lea edx, [edi*4]
lea esi, [ebx + edi*4]
cvtss2sd xmm2, dword [esi - 4]
subsd xmm1, xmm2
cvtsd2ss xmm6, xmm1
cvtss2sd xmm1, xmm6
andps xmm1, xmmword [0x462db0]
comisd xmm4, xmm1
jbe 0x4373d3
movaps xmm7, xmm3
mov ebx, dword [ebp + 0x24]
cvtss2sd xmm6, dword [ebx + edx - 4]
subsd xmm7, xmm6
cvtsd2ss xmm7, xmm7
cvtss2sd xmm7, xmm7
andps xmm7, xmmword [0x462db0]
comisd xmm4, xmm7
jbe 0x4373d3
ucomisd xmm5, xmm2
jp 0x4372d6
je 0x4377d0
cvtsd2ss xmm1, xmm5
cvtsd2ss xmm2, xmm3
inc edi
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
movss dword [edx + edi*4 - 4], xmm1
movss dword [ecx + edi*4 - 4], xmm2
movaps xmm3, xmm0
mov edx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
movsd xmm5, qword [0x462e88]
inc edi
mov dword [esp + 0x4c], edi
mov ecx, 0x47c34f80
mov dword [edx + edi*4 - 4], ecx
mov dword [ebx + edi*4 - 4], ecx
inc eax
cmp eax, dword [esp + 0x50]
jle 0x436f8e
mov edx, dword [esp + 0x4c]
test edi, edi
jne 0x43733b
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
movaps xmm2, xmm5
movss xmm0, dword [0x46307c]
mov eax, dword [ebp + 0x20]
cvtss2sd xmm1, dword [eax + edi*4 - 4]
subsd xmm2, xmm1
cvtsd2ss xmm4, xmm2
andps xmm4, xmmword [0x462dc0]
comiss xmm0, xmm4
jbe 0x4373bf
movaps xmm2, xmm3
mov eax, dword [ebp + 0x24]
cvtss2sd xmm1, dword [eax + edi*4 - 4]
subsd xmm2, xmm1
cvtsd2ss xmm4, xmm2
andps xmm4, xmmword [0x462dc0]
comiss xmm0, xmm4
jbe 0x437327
cvtsd2ss xmm0, xmm5
cvtsd2ss xmm1, xmm3
mov edx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x1c]
movss dword [edx + edi*4], xmm0
movss dword [ebx + edi*4], xmm1
mov ecx, 0x47c34f80
add edi, 2
mov dword [edx + edi*4 - 4], ecx
mov dword [eax], edi
mov dword [ebx + edi*4 - 4], ecx
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
movsd xmm0, qword [0x462e80]
mov dword [esp + 0x3c], esi
mov dword [esp + 4], eax
movsd xmm6, qword [0x462e88]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x24], edx
xor eax, eax
mov ebx, 1
add esi, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x38], esi
cmp dword [ebx*4 + 0x1ce18ac], 0
jne 0x43747b
cmp ebx, 1
je 0x437428
mov ecx, dword [ebx*4 + 0x1cd7c68]
inc ecx
jmp 0x43742d
mov ecx, 1
cvtss2sd xmm0, dword [ecx*4 + 0x1c73adc]
movaps xmm7, xmm2
subsd xmm7, xmm0
cvtsd2ss xmm7, xmm7
andps xmm7, xmmword [0x462dc0]
movss xmm0, dword [esi - 4]
subss xmm0, dword [ecx*4 + 0x1ca481c]
andps xmm0, xmmword [0x462dc0]
addss xmm7, xmm0
cvtss2sd xmm7, xmm7
movaps xmm0, xmm6
movaps xmm6, xmm7
minsd xmm6, xmm0
ucomisd xmm6, xmm7
jp 0x43747b
je 0x43784f
inc ebx
cmp ebx, edi
jle 0x43740f
movsd xmm0, qword [0x462e80]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x24]
comisd xmm6, xmm0
ja 0x43782e
test eax, eax
je 0x43781d
mov dword [eax*4 + 0x1ce18ac], 1
mov eax, dword [esp + 0x48]
mov ebx, eax
sub ebx, ecx
inc ebx
cmp eax, ecx
jl 0x43775c
movsd xmm1, qword [0x462e88]
xor eax, eax
lea edx, [ecx*4]
ucomisd xmm5, xmm1
jne 0x4374f2
jp 0x4374f2
cvtss2sd xmm5, dword [edx + eax*4 + 0x1c73adc]
cvtss2sd xmm3, dword [edx + eax*4 + 0x1ca481c]
inc eax
cmp eax, ebx
jb 0x4374d3
lea esi, [ecx*4 + 0x1c73aec]
and esi, 0xf
mov eax, esi
neg eax
add eax, 0x10
shr eax, 2
test esi, esi
cmovne esi, eax
lea eax, [esi + 8]
cmp ebx, eax
mov dword [esp + 0x44], esi
jl 0x437816
mov eax, ebx
sub eax, esi
and eax, 7
neg eax
add eax, ebx
test esi, esi
jbe 0x437576
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
xor esi, esi
mov ebx, esi
mov esi, dword [esp + 0x44]
mov edi, dword [edx + ebx*4 + 0x1c73adc]
mov dword [ecx + ebx*4], edi
mov edi, dword [edx + ebx*4 + 0x1ca481c]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, esi
jb 0x437549
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x70], ebx
mov dword [esp], edx
mov edx, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
lea eax, [edi + edx]
lea ebx, [edi + edx + 1]
lea esi, [ebx + 1]
lea edi, [ebx + 2]
lea edx, [ebx + 3]
mov ecx, 4
movd xmm2, ecx
mov ecx, dword [ebp + 0x24]
pshufd xmm2, xmm2, 0
lea eax, [ecx + eax*4]
test al, 0xf
movd xmm6, ebx
movd xmm1, esi
punpckldq xmm6, xmm1
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
movd xmm1, edi
mov edi, dword [esp + 0x28]
movd xmm7, edx
punpckldq xmm1, xmm7
punpcklqdq xmm6, xmm1
mov edx, dword [esp]
je 0x43764b
mov esi, dword [esp + 0x38]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esi]
lea edi, [edi]
movaps xmm1, xmmword [edx + ebx*4 + 0x1c73adc]
movaps xmm7, xmmword [edx + ebx*4 + 0x1ca481c]
movups xmmword [ecx + ebx*4], xmm1
movups xmmword [esi + ebx*4], xmm7
movdqa xmm1, xmm6
movaps xmm6, xmmword [edx + ebx*4 + 0x1c73aec]
movups xmmword [ecx + ebx*4 + 0x10], xmm6
movaps xmm6, xmmword [edx + ebx*4 + 0x1ca482c]
movups xmmword [esi + ebx*4 + 0x10], xmm6
movdqa xmm6, xmm2
paddd xmm1, xmm2
add ebx, 8
paddd xmm6, xmm1
cmp ebx, eax
jb 0x437600
jmp 0x4376a9
mov esi, dword [esp + 0x38]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
nop
movaps xmm1, xmmword [edx + ebx*4 + 0x1c73adc]
movaps xmm7, xmmword [edx + ebx*4 + 0x1ca481c]
movups xmmword [ecx + ebx*4], xmm1
movaps xmmword [esi + ebx*4], xmm7
movdqa xmm1, xmm6
movaps xmm6, xmmword [edx + ebx*4 + 0x1c73aec]
movups xmmword [ecx + ebx*4 + 0x10], xmm6
movaps xmm6, xmmword [edx + ebx*4 + 0x1ca482c]
movaps xmmword [esi + ebx*4 + 0x10], xmm6
movdqa xmm6, xmm2
paddd xmm1, xmm2
add ebx, 8
paddd xmm6, xmm1
cmp ebx, eax
jb 0x437660
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x44], ebx
add edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x70]
psrldq xmm1, 0xc
movd dword [esp + 0x4c], xmm1
mov esi, dword [esp + 0x34]
add esi, eax
mov dword [esp + 0x40], esi
cmp eax, ebx
jae 0x4377e5
mov edi, dword [ebp + 0x20]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
lea edi, [edi + esi*4]
mov dword [esp + 0x78], edi
mov edi, dword [ebp + 0x24]
lea esi, [edi + esi*4]
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x78]
lea ecx, [ebx + 1]
mov ebx, dword [edx + eax*4 + 0x1c73adc]
mov dword [esi + eax*4], ebx
mov edi, ecx
mov ebx, dword [edx + eax*4 + 0x1ca481c]
mov esi, dword [esp + 0x74]
mov dword [esi + eax*4], ebx
mov ebx, edi
inc eax
cmp eax, dword [esp + 0x70]
jb 0x4376fa
mov eax, dword [ebp + 0x20]
movaps xmm1, xmm5
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
lea edx, [ebx*4]
lea esi, [eax + ebx*4]
cvtss2sd xmm2, dword [esi - 4]
mov dword [esp + 0x3c], esi
subsd xmm1, xmm2
cvtsd2ss xmm6, xmm1
cvtss2sd xmm1, xmm6
andps xmm1, xmmword [0x462db0]
comisd xmm4, xmm1
jbe 0x4373e3
movaps xmm7, xmm3
mov eax, dword [ebp + 0x24]
cvtss2sd xmm6, dword [edx + eax - 4]
subsd xmm7, xmm6
cvtsd2ss xmm7, xmm7
cvtss2sd xmm7, xmm7
andps xmm7, xmmword [0x462db0]
comisd xmm4, xmm7
jbe 0x4373e3
movsd xmm0, qword [0x462e88]
mov eax, dword [esp + 4]
ucomisd xmm5, xmm2
jp 0x4377a3
je 0x4377c3
cvtsd2ss xmm1, xmm5
cvtsd2ss xmm2, xmm3
inc edi
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
movss dword [edx + edi*4 - 4], xmm1
movss dword [ecx + edi*4 - 4], xmm2
jmp 0x4372f1
ucomisd xmm3, xmm6
jne 0x4377a3
jp 0x4377a3
jmp 0x4372f1
ucomisd xmm3, xmm6
jne 0x4372d6
jp 0x4372d6
jmp 0x4372f1
movaps xmm1, xmm5
mov eax, dword [ebp + 0x20]
lea edx, [edi*4]
lea ebx, [eax + edi*4]
cvtss2sd xmm2, dword [ebx - 4]
mov dword [esp + 0x3c], ebx
subsd xmm1, xmm2
cvtsd2ss xmm6, xmm1
cvtss2sd xmm1, xmm6
andps xmm1, xmmword [0x462db0]
jmp 0x43775c
xor eax, eax
jmp 0x4376c4
movsd xmm0, qword [0x462e88]
mov eax, dword [esp + 4]
jmp 0x437314
mov edx, dword [esp + 0x4c]
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
mov edx, dword [ebp + 0x28]
mov dword [edx], 1
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov edx, dword [ebx*4 + 0x1cd7c6c]
mov eax, ebx
comisd xmm4, xmm6
jbe 0x43747b
movsd xmm0, qword [0x462e80]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x24]
jmp 0x43749e
xor edx, edx
jmp 0x437204
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
mov edx, 1
test esi, esi
cmovne esi, edx
jmp 0x436f3f
mov edx, dword [0x4b5970]
inc dword [0x4b5978]
jmp 0x436e93
inc dword [0x4b5974]
jmp 0x436e8d
mov dword [0x4b5970], 1
xor edx, edx
xor edi, edi
jmp 0x436eb8
xor esi, esi
xor ebx, ebx
jmp 0x436f19
mov esi, dword [esp + 0x34]
movss dword [0x4b59a0], xmm4
jmp 0x436940
mov dword [0x4b59a4], 2
test eax, eax
jg 0x43697a
jmp 0x436a21
mov dword [esp + 0x54], 0
jmp 0x4364a2
mov ebx, dword [eax]
test ebx, ebx
jle 0x437a36
mov esi, dword [ebp + 0x24]
and esi, 0xf
je 0x43793c
test esi, 3
jne 0x437a4a
neg esi
add esi, 0x10
shr esi, 2
lea eax, [esi + 8]
cmp ebx, eax
jl 0x437a4a
mov edx, ebx
sub edx, esi
and edx, 7
neg edx
add edx, ebx
test esi, esi
jbe 0x43798a
mov dword [esp], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 8], esi
mov esi, dword [ebp + 0x20]
mov dword [esp + 4], ebx
mov ebx, dword [ebp + 0x24]
xor eax, eax
mov edi, dword [ecx + eax*4]
mov dword [esi + eax*4], edi
mov edi, dword [edx + eax*4]
mov dword [ebx + eax*4], edi
inc eax
cmp eax, dword [esp + 8]
jb 0x43796c
mov edx, dword [esp]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 4]
mov eax, dword [ebp + 0x20]
lea edi, [eax + esi*4]
test edi, 0xf
je 0x4379d2
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [esp + 4], ebx
mov ebx, dword [ebp + 0x20]
movups xmm0, xmmword [ecx + esi*4]
movups xmm1, xmmword [edi + esi*4]
movups xmm2, xmmword [ecx + esi*4 + 0x10]
movups xmm3, xmmword [edi + esi*4 + 0x10]
movups xmmword [ebx + esi*4], xmm0
movups xmmword [ebx + esi*4 + 0x10], xmm2
movaps xmmword [eax + esi*4], xmm1
movaps xmmword [eax + esi*4 + 0x10], xmm3
add esi, 8
cmp esi, edx
jb 0x4379a5
jmp 0x437a0a
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x14]
mov dword [esp + 4], ebx
mov ebx, dword [ebp + 0x20]
movups xmm0, xmmword [ecx + esi*4]
movups xmm1, xmmword [edi + esi*4]
movups xmm2, xmmword [ecx + esi*4 + 0x10]
movups xmm3, xmmword [edi + esi*4 + 0x10]
movaps xmmword [ebx + esi*4], xmm0
movaps xmmword [eax + esi*4], xmm1
movaps xmmword [ebx + esi*4 + 0x10], xmm2
movaps xmmword [eax + esi*4 + 0x10], xmm3
add esi, 8
cmp esi, edx
jb 0x4379df
mov ebx, dword [esp + 4]
cmp edx, ebx
jae 0x437a36
mov esi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], ebx
mov ebx, dword [ebp + 0x20]
mov edi, dword [ecx + edx*4]
mov dword [ebx + edx*4], edi
mov edi, dword [eax + edx*4]
mov dword [esi + edx*4], edi
inc edx
cmp edx, dword [esp + 4]
jb 0x437a1f
mov ebx, dword [esp + 4]
mov eax, dword [ebp + 0x1c]
mov dword [eax], ebx
add esp, 0x84
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0x24
xor edx, edx
jmp 0x437a0e