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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
mov eax, 0x20f4
call fcn.00466f60
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [0x4f6e34]
mov eax, dword [ebx + esi*4 + 0x14bc0]
xor ecx, esp
mov edx, dword [ebx + esi*4 + 0x14bb8]
mov esi, dword [edi + 0x12ec]
neg esi
mov dword [esp + 0x20ec], ecx
xor ecx, ecx
add esi, dword [ebp + 0x1c]
mov ebx, ecx
mov dword [esp + 0x14], esi
mov dword [edi + 0x12ac], edx
mov dword [esp + 0x10], edx
mov edx, edi
mov esi, ecx
mov edi, eax
push 0
push edx
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.00433e70
mov edx, dword [ebp + 0xc]
add esp, 0x10
cmp edi, 1
je 0x43b9ab
cmp eax, dword [esp + 0x14]
je 0x43a268
jle 0x43a200
cmp esi, 2
je 0x43a246
test ebx, ebx
je 0x43a1f7
mov esi, edi
shr esi, 0x1f
add edi, esi
sar edi, 1
mov eax, edi
mov esi, 1
jmp 0x43a21b
cmp esi, 1
je 0x43a261
test ebx, ebx
je 0x43a212
mov esi, edi
shr esi, 0x1f
add edi, esi
sar edi, 1
mov eax, edi
mov esi, 2
neg eax
add eax, dword [edx + 0x12ac]
js 0x43a24d
cmp eax, 0xff
jle 0x43a23b
mov dword [edx + 0x12ac], 0xff
mov ebx, 1
jmp 0x43a1bc
mov dword [edx + 0x12ac], eax
jmp 0x43a1bc
mov ebx, 1
jmp 0x43a1ee
mov dword [edx + 0x12ac], 0
mov ebx, 1
jmp 0x43a1bc
mov ebx, 1
jmp 0x43a209
mov ebx, dword [ebp + 8]
mov edi, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x12ac]
sub edx, ecx
mov esi, 4
mov ecx, 2
cmp edx, 4
cmovge ecx, esi
mov esi, dword [ebp + 0x18]
mov dword [ebx + esi*4 + 0x14bc0], ecx
mov ecx, dword [edi + 0x12ac]
mov dword [ebx + esi*4 + 0x14bb8], ecx
mov dword [edi + 0x12a0], eax
cmp dword [ebx + 0x20], 0
je 0x43a749
mov ecx, 0x1c0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x2000], xmm0
movq qword [esp + 0x2010], xmm0
movd dword [esp + 0x2018], xmm0
pxor xmm0, xmm0
movdqu xmmword [esp + ecx + 0x1e30], xmm0
movdqu xmmword [esp + ecx + 0x1e20], xmm0
movdqu xmmword [esp + ecx + 0x1e10], xmm0
movdqu xmmword [esp + ecx + 0x1e00], xmm0
sub ecx, 0x40
jne 0x43a2d8
lea ecx, [esp + 0x1e40]
lea esi, [esp + 0x2034]
lea eax, [esp + 0x2050]
push ecx
push esi
push eax
push dword [ebp + 0x10]
push edi
call fcn.00429110
mov ecx, dword [edi + 0x12a0]
lea esi, [esp + 0x9c4]
mov dword [esi + 0x1698], ecx
push 0x1484
push edi
push esi
call fcn.004499d0
lea esi, [esp + 0xd0]
push 0x900
push dword [ebp + 0x14]
push esi
call fcn.004499d0
add esp, 0x2c
xor eax, eax
mov dword [esp + 0x98], 0x98967f
mov dword [esp + 0x8c], eax
mov ecx, dword [ebx + 0x2c]
movss xmm0, dword [0x48fe68]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov edx, dword [ebx + 0x14c68]
and edx, 2
mov dword [esp + 0xa4], edx
mov edi, dword [esp + 0x1cac]
cmp dword [ebx + 0x14c64], 0
je 0x43a3f2
movss xmm0, dword [esp + edi*4 + 0x2050]
comiss xmm0, dword [0x48fe68]
ja 0x43a6c7
cmp dword [esp + 0x1c64], 2
jne 0x43a3f2
movss xmm0, dword [esp + edi*4 + 0x2054]
comiss xmm0, dword [0x48fe68]
ja 0x43a6c7
movss xmm0, dword [esp + edi*4 + 0x2058]
comiss xmm0, dword [0x48fe68]
ja 0x43a6c7
cmp dword [esp + 0x1c94], 0
movss xmm2, dword [0x48fe58]
je 0x43a40c
movss xmm2, dword [0x48fe64]
test edi, edi
jle 0x43a477
cmp edi, 8
jl 0x43a777
mov edx, edi
xor esi, esi
and edx, 0xfffffff8
pxor xmm1, xmm1
movups xmm0, xmmword [esp + esi*4 + 0x2050]
maxps xmm0, xmm1
movups xmm1, xmmword [esp + esi*4 + 0x2060]
add esi, 8
maxps xmm1, xmm0
cmp esi, edx
jb 0x43a424
movaps xmm0, xmm1
movhlps xmm0, xmm1
maxps xmm1, xmm0
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xf5
maxss xmm1, xmm3
cmp edx, edi
jae 0x43a47b
movss xmm0, dword [esp + edx*4 + 0x2050]
movaps xmm3, xmm1
movaps xmm1, xmm0
inc edx
comiss xmm1, xmm3
ja 0x43a471
movaps xmm1, xmm3
cmp edx, edi
jb 0x43a459
jmp 0x43a47b
pxor xmm1, xmm1
mov esi, ecx
cmp ecx, 3
jne 0x43a497
mov esi, 1
mov edx, 2
cmp dword [esp + 0x94], 1
cmove esi, edx
cmp esi, 2
je 0x43a4cf
cmp esi, 1
jne 0x43a4b0
comiss xmm1, dword [0x48fe68]
jbe 0x43a4c3
sqrtss xmm1, xmm1
jmp 0x43a4cf
comiss xmm1, dword [0x48fe68]
jbe 0x43a4c3
movss xmm1, dword [0x48fe68]
jmp 0x43a4cf
movss xmm0, dword [0x48fe60]
mulss xmm1, xmm0
test edi, edi
jle 0x43a6c7
xor esi, esi
movaps xmm0, xmm2
shufps xmm0, xmm0, 0
xor edx, edx
mov eax, dword [esp + edx*4 + 0x1cb8]
add esi, eax
comiss xmm1, dword [esp + edx*4 + 0x2050]
ja 0x43a695
mov ecx, dword [ebp + 8]
test byte [ecx + 0x14c68], 2
je 0x43a53c
mov ecx, dword [ebp + 8]
cmp dword [ecx + edx*4 + 0x14bc8], 0
jne 0x43a522
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x14bc8], 1
jmp 0x43a53c
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x14bc8], 0
mov ecx, dword [ecx + 0x2c]
cmp ecx, 2
je 0x43a69e
mov ecx, eax
inc dword [esp + edx*4 + 0x1bb0]
neg ecx
jns 0x43a683
movss xmm3, dword [esp + 0x1c4c]
cmp eax, 8
jl 0x43b99b
mov ebx, esi
sub ebx, eax
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx + ebx*4]
and ecx, 0xf
je 0x43a57f
test cl, 3
jne 0x43b99b
neg ecx
add ecx, 0x10
shr ecx, 2
lea ebx, [ecx + 8]
cmp eax, ebx
jl 0x43b99b
mov ebx, eax
sub ebx, ecx
and ebx, 7
neg ebx
add ebx, eax
mov dword [esp + 0xa8], ebx
mov ebx, esi
sub ebx, eax
mov edi, dword [ebp + 0x14]
lea ebx, [edi + ebx*4]
test ecx, ecx
jbe 0x43a5ee
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], esi
mov esi, ebx
mov edi, dword [esp + 0xa0]
movss xmm4, dword [esi]
movaps xmm5, xmm3
mulss xmm4, xmm2
inc edi
movaps xmm3, xmm4
comiss xmm3, xmm5
movss dword [esi], xmm4
ja 0x43a5e0
movaps xmm3, xmm5
add esi, 4
cmp edi, ecx
jb 0x43a5c5
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0xa8]
shufps xmm3, xmm3, 0
movups xmm4, xmmword [ebx + ecx*4]
mulps xmm4, xmm0
movups xmmword [ebx + ecx*4], xmm4
maxps xmm4, xmm3
movups xmm3, xmmword [ebx + ecx*4 + 0x10]
mulps xmm3, xmm0
movups xmmword [ebx + ecx*4 + 0x10], xmm3
add ecx, 8
maxps xmm3, xmm4
cmp ecx, edi
jb 0x43a5f9
movaps xmm4, xmm3
movhlps xmm4, xmm3
maxps xmm3, xmm4
movaps xmm5, xmm3
shufps xmm5, xmm3, 0xf5
mov dword [esp + 0xa8], edi
maxss xmm3, xmm5
cmp eax, dword [esp + 0xa8]
jbe 0x43a67a
mov ecx, esi
mov ebx, dword [ebp + 0x14]
sub ecx, eax
mov edi, dword [esp + 0xa8]
lea ebx, [ebx + edi*4]
lea ecx, [ebx + ecx*4]
mov ebx, edi
movss xmm4, dword [ecx]
movaps xmm5, xmm3
mulss xmm4, xmm2
inc ebx
movaps xmm3, xmm4
comiss xmm3, xmm5
movss dword [ecx], xmm4
ja 0x43a673
movaps xmm3, xmm5
add ecx, 4
cmp ebx, eax
jb 0x43a658
movss dword [esp + 0x1c4c], xmm3
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x1cac]
mov ecx, dword [eax + 0x2c]
cmp ecx, 2
je 0x43a69e
inc edx
cmp edx, edi
jl 0x43a4e2
mov ebx, dword [ebp + 8]
test edi, edi
jle 0x43a6c7
xor edx, edx
mov esi, dword [esp + edx*4 + 0x1d54]
mov eax, dword [esp + edx*4 + 0x1bb0]
add eax, dword [esp + esi*4 + 0x1c78]
je 0x43a7ee
inc edx
cmp edx, edi
jl 0x43a6a7
cmp ecx, 3
je 0x43a787
mov edi, dword [ebp + 0xc]
lea esi, [esp + 0xb0]
mov eax, dword [ebx + 0x6c]
lea ecx, [eax - 1]
cmp ecx, 1
jbe 0x43a708
cmp eax, 4
je 0x43a708
test byte [ebx + 0x14c68], 1
je 0x43a719
mov ecx, dword [ebp + 0x14]
mov eax, ebx
mov edx, edi
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x10]
call fcn.0043ba30
jmp 0x43a719
push 0x900
push esi
push dword [ebp + 0x14]
call fcn.004499d0
add esp, 0xc
mov ecx, dword [esp + 0x20ec]
mov dword [esp + 0x20ec], 0
xor ecx, esp
mov eax, dword [esp + 0x2040]
cmp ecx, dword [0x4f6e34]
jne 0x43a782
add esp, 0x20f4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20ec]
mov dword [esp + 0x20ec], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x43a782
mov eax, 0x64
add esp, 0x20f4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor edx, edx
pxor xmm1, xmm1
jmp 0x43a455
call fcn.00466f40
cmp dword [esp + 0x94], 0
jne 0x43a6d0
push 0x1484
push dword [ebp + 0xc]
lea edx, [esp + 0x9b8]
push edx
call fcn.004499d0
push 0x900
lea edx, [esp + 0xc0]
push edx
push dword [ebp + 0x14]
call fcn.004499d0
add esp, 0x18
mov edx, dword [esp + 0x1c5c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x94], 1
mov ecx, dword [ebx + 0x2c]
jmp 0x43a386
lea edx, [esp + 0x9b0]
push edx
push ebx
call fcn.00436650
add esp, 8
test eax, eax
je 0x43aab4
cmp dword [ebx + 0x20], 1
jle 0x43a873
mov edx, 0x80
pxor xmm0, xmm0
movdqu xmmword [ebx + 0x14c48], xmm0
movq qword [ebx + 0x14c58], xmm0
movd dword [ebx + 0x14c60], xmm0
pxor xmm0, xmm0
movdqu xmmword [ebx + edx + 0x14bb8], xmm0
movdqu xmmword [ebx + edx + 0x14ba8], xmm0
movdqu xmmword [ebx + edx + 0x14b98], xmm0
movdqu xmmword [ebx + edx + 0x14b88], xmm0
sub edx, 0x40
jne 0x43a832
cmp dword [esp + 0x1c94], 0
je 0x43a883
cmp dword [esp + 0x1c64], 2
je 0x43b3a8
test eax, eax
je 0x43aa9b
mov ecx, dword [ebx + 0x2c]
jmp 0x43a6c7
cmp dword [esp + 0x1cac], 0
jle 0x43aa85
xor ecx, ecx
xor edx, edx
inc edx
cmp dword [esp + 0x1c90], 0
mov eax, dword [esp + edx*4 + 0x1cb4]
mov ebx, dword [esp + edx*4 + 0x1bac]
je 0x43a8b5
add ebx, dword [edx*4 + 0x48d7bc]
add ecx, eax
test bl, 1
je 0x43aa6c
mov esi, eax
inc ebx
neg esi
jns 0x43aa6c
movss xmm0, dword [esp + 0x1c4c]
cmp eax, 8
jl 0x43b35b
mov edi, ecx
sub edi, eax
mov esi, dword [ebp + 0x14]
lea esi, [esi + edi*4]
and esi, 0xf
mov dword [esp + 0x84], esi
je 0x43a910
test byte [esp + 0x84], 3
jne 0x43b35b
neg esi
add esi, 0x10
shr esi, 2
mov dword [esp + 0x84], esi
lea edi, [esi + 8]
cmp eax, edi
jl 0x43b35b
mov esi, eax
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x84]
sub esi, ebx
and esi, 7
neg esi
add esi, eax
mov dword [esp + 0x80], esi
mov esi, eax
neg esi
add esi, ecx
mov edi, dword [ebp + 0x14]
lea esi, [edi + esi*4]
test ebx, ebx
mov ebx, dword [esp + 0x88]
jbe 0x43a9a8
mov dword [esp + 0x64], 0
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov edx, esi
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x84]
movss xmm2, dword [edx]
movaps xmm3, xmm0
movss xmm1, dword [0x48fe58]
inc ecx
mulss xmm2, xmm1
movaps xmm0, xmm2
comiss xmm0, xmm3
movss dword [edx], xmm2
ja 0x43a992
movaps xmm0, xmm3
add edx, 4
cmp ecx, edi
jb 0x43a96f
mov dword [esp + 0x84], edi
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ecx
shufps xmm0, xmm0, 0
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
movups xmm3, xmmword [esi + edi*4]
movups xmm1, xmmword [0x48fd10]
mulps xmm3, xmm1
movaps xmm2, xmm1
movups xmmword [esi + edi*4], xmm3
maxps xmm3, xmm0
movups xmm0, xmmword [esi + edi*4 + 0x10]
mulps xmm0, xmm2
movups xmmword [esi + edi*4 + 0x10], xmm0
add edi, 8
maxps xmm0, xmm3
cmp edi, ecx
jb 0x43a9be
movaps xmm1, xmm0
movhlps xmm1, xmm0
maxps xmm0, xmm1
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xf5
mov dword [esp + 0x80], ecx
maxss xmm0, xmm2
mov ecx, dword [esp + 0x7c]
cmp eax, dword [esp + 0x80]
jbe 0x43aa63
mov dword [esp + 0x88], ebx
mov ebx, eax
neg ebx
mov esi, dword [ebp + 0x14]
add ebx, ecx
mov edi, dword [esp + 0x80]
lea esi, [esi + edi*4]
lea esi, [esi + ebx*4]
mov ebx, dword [esp + 0x88]
movss xmm2, dword [esi]
movaps xmm3, xmm0
movss xmm1, dword [0x48fe58]
inc edi
mulss xmm2, xmm1
movaps xmm0, xmm2
comiss xmm0, xmm3
movss dword [esi], xmm2
ja 0x43aa5c
movaps xmm0, xmm3
add esi, 4
cmp edi, eax
jb 0x43aa39
movss dword [esp + 0x1c4c], xmm0
sar ebx, 1
mov dword [esp + edx*4 + 0x1bac], ebx
cmp edx, dword [esp + 0x1cac]
jl 0x43a895
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1c90], 0
mov dword [esp + 0x1c94], 1
lea edx, [esp + 0x9b0]
push edx
push ebx
call fcn.00436650
add esp, 8
test eax, eax
jne 0x43a87b
xor edx, edx
mov esi, 0xff
mov edi, dword [esp + 0x1c9c]
cmp edx, dword [esp + 0x1c94]
sbb esi, 0
neg edi
add edi, dword [ebp + 0x1c]
test edi, edi
jle 0x43a87b
lea edx, [esp + 0x1e40]
push edx
lea ecx, [esp + 0x9b4]
push ecx
push dword [ebp + 0x14]
push ebx
call fcn.00433e70
add esp, 0x10
mov dword [esp + 0x1c50], eax
cmp eax, edi
jle 0x43ab3e
mov edx, dword [esp + 0x1c5c]
cmp edx, esi
jg 0x43a87b
inc edx
mov dword [esp + 0x1c5c], edx
lea edx, [esp + 0x1e40]
push edx
lea ecx, [esp + 0x9b4]
push ecx
push dword [ebp + 0x14]
push ebx
call fcn.00433e70
add esp, 0x10
mov dword [esp + 0x1c50], eax
cmp eax, edi
jg 0x43ab00
mov edx, dword [esp + 0x1c5c]
cmp edx, esi
jg 0x43a87b
cmp dword [esp + 0x2040], 0
jne 0x43abd6
lea edx, [esp + 0x1e40]
push edx
lea ecx, [esp + 0x9b4]
push ecx
push dword [ebp + 0x14]
push ebx
call fcn.00433e70
add esp, 0x10
mov dword [esp + 0x1c50], eax
cmp eax, dword [esp + 0x98]
jle 0x43abc7
mov edi, dword [ebp + 0x14]
mov edx, dword [esp + 0x1c5c]
cmp edx, esi
jg 0x43a87b
inc edx
mov dword [esp + 0x1c5c], edx
lea edx, [esp + 0x1e40]
push edx
lea ecx, [esp + 0x9b4]
push ecx
push edi
push ebx
call fcn.00433e70
add esp, 0x10
mov dword [esp + 0x1c50], eax
cmp eax, dword [esp + 0x98]
jg 0x43ab86
mov edx, dword [esp + 0x1c5c]
cmp edx, esi
jg 0x43a87b
lea edx, [esp + 0x1e40]
lea ecx, [esp + 0x201c]
push edx
push ecx
lea esi, [esp + 0x2058]
push esi
push dword [ebp + 0x10]
lea edi, [esp + 0x9c0]
push edi
call fcn.00429110
add esp, 0x14
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x5c]
mov esi, dword [esp + 0x1c50]
cmp dword [edx + 0x12b4], 2
mov dword [esp + 0x2030], esi
cmovne ecx, dword [ebx + 0x58]
cmp ecx, 8
ja 0x43b214
movzx eax, word [ecx*2 + 0x48fe80]
add eax, 0x43ac38
jmp eax
test edx, edx
je 0x43b1ff
mov ecx, dword [esp + 0x202c]
jmp 0x43b2ad
cmp esi, dword [esp + 0x2048]
jge 0x43b250
mov ecx, dword [esp + 0x202c]
jmp 0x43b2ad
mov edx, dword [esp + 0x2040]
test edx, edx
jle 0x43b93e
mov ecx, dword [esp + 0x202c]
mov edi, dword [esp + 0x2044]
cmp ecx, edi
jg 0x43b250
jne 0x43b2ad
mov edi, 1
xor ecx, ecx
cmp esi, dword [esp + 0x2048]
cmovge edi, ecx
test edi, edi
jne 0x43b143
cmp dword [ebx + 0x34], 0
jne 0x43b29e
mov ecx, 0x14
mov edi, 3
cmp dword [esp + 0xa4], 0
mov esi, dword [esp + 0x8c]
cmovne edi, ecx
inc esi
mov dword [esp + 0x8c], esi
cmp esi, edi
jle 0x43b286
test edx, edx
je 0x43a87b
mov ecx, dword [ebx + 0x2c]
cmp ecx, 3
je 0x43b36b
mov esi, dword [esp + 0x1c5c]
jmp 0x43b343
mov esi, dword [esp + 0x1c5c]
mov ecx, dword [ebx + 0x2c]
jmp 0x43b343
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x2044], ecx
mov dword [esp + 0x2048], esi
mov edi, dword [edx + 0x12a0]
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x201c]
mov dword [esp + 0x2034], edi
mov edi, dword [esp + 0x2020]
mov dword [esp + 0x2038], edi
mov edi, dword [esp + 0x2024]
mov dword [esp + 0x203c], edi
mov edi, dword [esp + 0x2028]
mov dword [esp + 0x2040], edi
push 0x1484
lea ecx, [esp + 0x9b4]
push ecx
push edx
call fcn.004499d0
push 0x900
push dword [ebp + 0x14]
lea edx, [esp + 0xc4]
push edx
call fcn.004499d0
add esp, 0x18
mov esi, dword [esp + 0x1c5c]
mov dword [esp + 0x8c], 0
mov ecx, dword [ebx + 0x2c]
add esi, dword [esp + 0x1c94]
cmp esi, 0xff
jge 0x43a6c7
jmp 0x43a386
mov dword [esp + 0x80], 0
jmp 0x43aa0c
cmp dword [esp + 0x94], 0
je 0x43b383
cmp dword [esp + 0x8c], 0x1e
jg 0x43a787
mov esi, dword [esp + 0x1c5c]
cmp dword [esp + 0x94], 0
je 0x43b343
mov edx, esi
sub edx, dword [esp + 0x90]
cmp edx, 0xf
jg 0x43a787
jmp 0x43b343
cmp dword [ebx + 0x24], 0
jle 0x43a873
mov esi, dword [esp + 0x1ca0]
test esi, esi
jle 0x43b3d2
xor edx, edx
cmp dword [esp + edx*4 + 0x1bb0], 0x10
jge 0x43b923
inc edx
cmp edx, esi
jl 0x43b3bf
movss xmm1, dword [0x51fb68]
xor edi, edi
mov ecx, dword [esp + 0x1cac]
mov edx, dword [esp + 0x1cb4]
movaps xmm2, xmm1
shufps xmm2, xmm2, 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
lea esi, [eax + edx]
mov ecx, esi
cmp esi, dword [esp + 0x44]
jge 0x43b4c5
mov ebx, dword [esp + 0x44]
mov eax, 0xaaaaaaab
sub ebx, esi
add ebx, 2
mul ebx
xor ebx, ebx
shr edx, 2
je 0x43b7ba
xor edi, edi
lea eax, [esp + esi*4 + 0x1bb0]
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x34], ecx
mov esi, edi
mov edx, dword [esi + eax]
cmp edx, ebx
mov ecx, dword [esi + eax + 0xc]
cmovge ebx, edx
inc edi
cmp ecx, ebx
cmovge ebx, ecx
add esi, 0x18
cmp edi, dword [esp + 0x5c]
jb 0x43b44e
mov esi, dword [esp + 0x38]
lea eax, [edi + edi*2]
mov ecx, dword [esp + 0x34]
lea esi, [esi + eax*2]
lea eax, [edi + edi + 1]
mov edx, dword [esp + 0x44]
lea edi, [eax - 1]
sub edx, ecx
mov dword [esp + 0x54], eax
add edx, 2
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
mov eax, dword [esp + 0x54]
cmp edi, edx
jae 0x43b4b1
lea edx, [esp + ecx*4 + 0x1bb0]
lea esi, [eax + eax*2]
cmp ebx, dword [edx + esi*4 - 0xc]
cmovle ebx, dword [edx + esi*4 - 0xc]
add esi, ecx
cmp esi, dword [esp + 0x4c]
jl 0x43b4d1
cmp ebx, 0x10
jl 0x43b764
jmp 0x43b569
cmp esi, dword [esp + 0x4c]
jge 0x43b764
xor ebx, ebx
mov ecx, dword [esp + 0x4c]
mov eax, 0xaaaaaaab
sub ecx, esi
add ecx, 2
mul ecx
mov dword [esp + 0x50], ecx
xor ecx, ecx
shr edx, 2
je 0x43b92d
xor edi, edi
lea eax, [esp + esi*4 + 0x1bb0]
mov dword [esp + 0x38], esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x3c], ebx
mov esi, edi
mov edx, dword [esi + eax]
cmp edx, ecx
mov ebx, dword [esi + eax + 0xc]
cmovge ecx, edx
inc edi
cmp ebx, ecx
cmovge ecx, ebx
add esi, 0x18
cmp edi, dword [esp + 0x60]
jb 0x43b507
mov ebx, dword [esp + 0x3c]
lea eax, [edi + edi + 1]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x58], eax
lea edi, [eax - 1]
mov eax, 0xaaaaaaab
mul dword [esp + 0x50]
shr edx, 1
mov eax, dword [esp + 0x58]
cmp edi, edx
jae 0x43b55b
lea edx, [esp + esi*4 + 0x1bb0]
lea eax, [eax + eax*2]
cmp ecx, dword [edx + eax*4 - 0xc]
cmovle ecx, dword [edx + eax*4 - 0xc]
cmp ebx, 0x10
jge 0x43b569
cmp ecx, 8
jl 0x43b764
mov eax, dword [esp + 0x40]
mov edx, dword [esp + eax*4 + 0x1c78]
cmp edx, 7
jge 0x43b920
inc edx
mov esi, dword [ebp + 8]
mov dword [esp + eax*4 + 0x1c78], edx
mov ebx, dword [esp + 0x1ca0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1cac]
mov esi, dword [esi + ebx*4 + 0x5374]
add ebx, eax
mov dword [esp + 0x4c], ecx
lea edx, [edx - 1]
lea eax, [eax + 1]
cmp ebx, ecx
jge 0x43b603
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
mov edi, 4
mov ecx, dword [esp + 0x1c94]
shr edi, cl
mov edx, dword [esp + ebx*4 + 0x1bb0]
mov eax, dword [esp + ebx*4 + 0x1cb8]
sub edx, edi
js 0x43b7d1
mov dword [esp + ebx*4 + 0x1bb0], edx
lea eax, [eax + eax*2]
add esi, eax
add ebx, 3
mov eax, dword [esp + 0x1cac]
cmp ebx, eax
jl 0x43b5b9
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + ebx*4 + 0x1cb8]
mov ebx, eax
imul ebx, edi
add ebx, esi
neg edi
jns 0x43b772
mov ecx, edi
neg ecx
movss xmm0, dword [esp + 0x1c4c]
mov dword [esp + 0x2c], ecx
cmp ecx, 8
jl 0x43b7c4
mov ecx, dword [ebp + 0x14]
lea esi, [ebx + edi]
lea ecx, [ecx + esi*4]
and ecx, 0xf
je 0x43b652
test cl, 3
jne 0x43b7c4
neg ecx
add ecx, 0x10
shr ecx, 2
lea esi, [ecx + 8]
cmp esi, dword [esp + 0x2c]
jg 0x43b7c4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov esi, eax
sub esi, ecx
and esi, 7
neg esi
add esi, eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x24], esi
lea esi, [ebx + edi]
lea eax, [eax + esi*4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
test ecx, ecx
jbe 0x43b6c7
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], edx
mov edx, esi
mov esi, dword [esp + 0x18]
movss xmm3, dword [edx]
movaps xmm4, xmm0
mulss xmm3, xmm1
inc esi
movaps xmm0, xmm3
comiss xmm0, xmm4
movss dword [edx], xmm3
ja 0x43b6bc
movaps xmm0, xmm4
add edx, 4
cmp esi, ecx
jb 0x43b6a1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
shufps xmm0, xmm0, 0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
movups xmm3, xmmword [esi + ecx*4]
mulps xmm3, xmm2
movups xmmword [esi + ecx*4], xmm3
maxps xmm3, xmm0
movups xmm0, xmmword [esi + ecx*4 + 0x10]
mulps xmm0, xmm2
movups xmmword [esi + ecx*4 + 0x10], xmm0
add ecx, 8
maxps xmm0, xmm3
cmp ecx, edx
jb 0x43b6d7
movaps xmm3, xmm0
movhlps xmm3, xmm0
maxps xmm0, xmm3
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xf5
mov dword [esp + 0x24], edx
maxss xmm0, xmm4
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x2c]
jae 0x43b759
mov ecx, dword [ebp + 0x14]
add ebx, edi
mov esi, dword [esp + 0x24]
lea edi, [ecx + esi*4]
lea ecx, [edi + ebx*4]
mov ebx, esi
mov esi, dword [esp + 0x2c]
movss xmm3, dword [ecx]
movaps xmm4, xmm0
mulss xmm3, xmm1
inc ebx
movaps xmm0, xmm3
comiss xmm0, xmm4
movss dword [ecx], xmm3
ja 0x43b752
movaps xmm0, xmm4
add ecx, 4
cmp ebx, esi
jb 0x43b737
movss dword [esp + 0x1c4c], xmm0
jmp 0x43b772
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
lea edx, [edx - 1]
lea eax, [eax + 1]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], eax
cmp eax, 3
jb 0x43b405
mov ecx, dword [esp + 0x4c]
mov ebx, dword [ebp + 8]
test ecx, ecx
jle 0x43b7b0
xor edx, edx
mov esi, dword [esp + edx*4 + 0x1d54]
mov edi, dword [esp + edx*4 + 0x1bb0]
add edi, dword [esp + esi*4 + 0x1c78]
je 0x43b937
inc edx
cmp edx, ecx
jl 0x43b790
mov eax, 1
jmp 0x43a873
mov eax, 1
jmp 0x43b47b
mov dword [esp + 0x24], 0
jmp 0x43b718
mov dword [esp + ebx*4 + 0x1bb0], 0
mov ecx, dword [esp + 0x1c94]
inc ecx
shl edx, cl
movss xmm0, dword [edx*4 + 0x51fb88]
mov edx, eax
neg edx
jns 0x43b906
movss xmm4, dword [esp + 0x1c4c]
cmp eax, 8
jl 0x43b91c
mov ecx, dword [esp + 0x40]
imul ecx, eax
add ecx, esi
mov edx, dword [ebp + 0x14]
lea ecx, [edx + ecx*4]
mov edx, ecx
and edx, 0xf
je 0x43b832
test dl, 3
jne 0x43b91c
neg edx
add edx, 0x10
shr edx, 2
lea edi, [edx + 8]
cmp eax, edi
jl 0x43b91c
mov edi, eax
sub edi, edx
and edi, 7
neg edi
add edi, eax
test edx, edx
jbe 0x43b881
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x10]
movss xmm3, dword [ecx + esi*4]
movaps xmm5, xmm4
mulss xmm3, xmm0
movaps xmm4, xmm3
comiss xmm4, xmm5
movss dword [ecx + esi*4], xmm3
ja 0x43b878
movaps xmm4, xmm5
inc esi
cmp esi, edx
jb 0x43b85c
mov esi, dword [esp + 0x14]
movaps xmm3, xmm0
shufps xmm4, xmm4, 0
shufps xmm3, xmm3, 0
movups xmm5, xmmword [ecx + edx*4]
mulps xmm5, xmm3
movups xmmword [ecx + edx*4], xmm5
maxps xmm5, xmm4
movups xmm4, xmmword [ecx + edx*4 + 0x10]
mulps xmm4, xmm3
movups xmmword [ecx + edx*4 + 0x10], xmm4
add edx, 8
maxps xmm4, xmm5
cmp edx, edi
jb 0x43b88c
movaps xmm3, xmm4
movhlps xmm3, xmm4
maxps xmm4, xmm3
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xf5
maxss xmm4, xmm5
cmp edi, eax
jae 0x43b8fd
mov ecx, dword [esp + 0x40]
imul ecx, eax
add ecx, esi
mov edx, dword [ebp + 0x14]
lea edx, [edx + ecx*4]
lea edx, [edx + edi*4]
movss xmm3, dword [edx]
movaps xmm5, xmm4
mulss xmm3, xmm0
inc edi
movaps xmm4, xmm3
comiss xmm4, xmm5
movss dword [edx], xmm3
ja 0x43b8f6
movaps xmm4, xmm5
add edx, 4
cmp edi, eax
jb 0x43b8db
movss dword [esp + 0x1c4c], xmm4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
lea edi, [edx + ecx + 3]
imul edi, eax
add esi, edi
jmp 0x43b5e9
xor edi, edi
jmp 0x43b8c5
mov ebx, dword [ebp + 8]
mov eax, 1
jmp 0x43a873
mov eax, 1
jmp 0x43b52e
xor eax, eax
jmp 0x43a873
movss xmm1, dword [esp + 0x2024]
pxor xmm0, xmm0
comiss xmm0, xmm1
jbe 0x43b250
pxor xmm4, xmm4
pxor xmm2, xmm2
cvtsi2ss xmm4, esi
cvtsi2ss xmm2, dword [esp + 0x2048]
movss xmm0, dword [0x48fe5c]
mulss xmm1, xmm0
movss xmm3, dword [esp + 0x203c]
addss xmm4, xmm1
movaps xmm1, xmm0
mulss xmm3, xmm1
addss xmm3, xmm2
comiss xmm3, xmm4
jae 0x43b13b
jmp 0x43b250
mov dword [esp + 0xa8], 0
jmp 0x43a639
mov esi, dword [esp + 0x14]
mov edi, edx
mov edx, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
cmp eax, esi
jle 0x43a271
mov dword [esp + 0x10], edx
mov ecx, dword [edi + 0x12ac]
cmp ecx, 0xff
jge 0x43b9fb
push 0
push edi
push dword [ebp + 0x14]
push ebx
inc ecx
mov dword [edi + 0x12ac], ecx
call fcn.00433e70
add esp, 0x10
cmp eax, esi
jg 0x43b9c4
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x12ac]
jmp 0x43a277
mov edx, dword [esp + 0x10]
jmp 0x43a277