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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x80
mov eax, dword [0x4f7004]
xor eax, esp
mov dword [esp + 0x7c], eax
push esi
push edi
mov edi, ecx
mov esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x3c], edi
test edi, edi
je 0x43bbc5
mov edx, dword [ebp + 8]
mov eax, edx
mov ecx, dword [ebp + 0xc]
or eax, ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
je 0x43bbc5
test esi, esi
jne 0x43a633
push ecx
push edx
mov ecx, edi
call fcn.00435cd8
pop ecx
pop ecx
jmp 0x43bbc9
movzx eax, byte [edi + 0x1d]
xorps xmm0, xmm0
movss xmm1, dword [0x4f2740]
push 0x20
pop ecx
sub ecx, eax
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
cmp dword [edi + 0x48], 0
jne 0x43a67f
mov ecx, edi
call fcn.00435c06
test eax, eax
je 0x43bbbb
mov eax, dword [esp + 0x64]
jmp 0x43bb9d
mov al, byte [edi + 0x42]
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x53], al
movsx eax, al
mov dword [esp + 0x78], 0x4030201
mov dword [esp + 0x7c], 0x8070605
mov word [esp + 0x80], 0x202
mov byte [esp + 0x82], 2
movzx eax, byte [esp + eax + 0x78]
mov dword [esp + 0x6c], eax
movzx eax, word [edi + 0x40]
sub eax, dword [edi + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], ecx
test ecx, ecx
jb 0x43a6eb
ja 0x43a6de
mov esi, dword [esp + 0x68]
cmp esi, dword [edi + 0x48]
mov esi, dword [esp + 0x10]
jbe 0x43a6eb
mov edx, dword [edi + 0x48]
xor ecx, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], ecx
cmp dword [esp + 0x6c], 2
jne 0x43baa3
mov esi, dword [edi + 0x50]
shl eax, 2
add esi, eax
mov dword [esp + 0x1c], esi
mov esi, dword [edi + 0x58]
add esi, eax
movzx eax, byte [esp + 0x53]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
sub eax, 0
je 0x43b6da
sub eax, 8
je 0x43b2f3
sub eax, 1
je 0x43aefe
sub eax, 1
jne 0x43b6da
cmp dword [0x5192d0], eax
je 0x43aa76
cmp byte [edi + 0x1d], 0x18
ja 0x43aa76
mov esi, dword [esp + 0x48]
mov eax, ecx
movaps xmm5, xmmword [0x4f2980]
xorps xmm0, xmm0
shrd edx, eax, 2
movlpd qword [esp + 0x40], xmm0
shr eax, 2
add esi, 0xfffffff8
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], eax
jne 0x43a8eb
test eax, eax
jb 0x43a844
ja 0x43a792
test edx, edx
je 0x43a844
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x20]
add ecx, ecx
movups xmm3, xmmword [eax + ecx*8]
movzx eax, byte [edi + 0x55]
movd xmm0, eax
mov eax, dword [esp + 0x1c]
pslld xmm3, xmm0
movups xmm1, xmmword [eax + ecx*8]
movzx eax, byte [edi + 0x4d]
mov ecx, dword [esp + 0x28]
movd xmm0, eax
mov eax, ecx
pslld xmm1, xmm0
movaps xmm0, xmm3
shl eax, 5
pand xmm0, xmmword [0x4f2970]
add ecx, 1
pslld xmm1, 1
adc dword [esp + 0x18], 0
por xmm1, xmm0
mov dword [esp + 0x28], ecx
movaps xmm0, xmm3
paddd xmm0, xmm1
psubd xmm1, xmm3
psrad xmm0, 1
psrad xmm1, 1
cvtdq2ps xmm2, xmm0
cvtdq2ps xmm1, xmm1
mulps xmm2, xmm5
mulps xmm1, xmm5
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movups xmmword [eax + esi], xmm0
unpckhps xmm2, xmm1
movups xmmword [eax + esi + 0x10], xmm2
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x18], eax
jb 0x43a7a2
ja 0x43a840
cmp ecx, edx
jb 0x43a7a2
mov ecx, dword [esp + 0x38]
shld eax, edx, 2
shl edx, 2
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
cmp eax, ecx
ja 0x43bb66
jae 0x43a8dc
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 0x55]
mov esi, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
shl esi, cl
mov cl, byte [edi + 0x4d]
mov edx, dword [eax + edx*4]
mov eax, esi
shl edx, cl
and eax, 1
mov ecx, dword [esp + 8]
add edx, edx
or edx, eax
lea eax, [esi + edx]
sub edx, esi
sar eax, 1
sar edx, 1
movd xmm0, eax
mov eax, dword [esp + 0x10]
mov esi, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [eax + ecx*8], xmm0
mov eax, dword [esp + 0xc]
movd xmm0, edx
mov edx, ecx
mov ecx, dword [esp + 0x38]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + edx*8 + 4], xmm0
add edx, 1
mov dword [esp + 8], edx
adc eax, 0
mov dword [esp + 0xc], eax
cmp eax, ecx
jb 0x43a85d
ja 0x43bb66
cmp edx, dword [esp + 0x2c]
jb 0x43a85d
jmp 0x43bb66
dec dword [esp + 0x18]
test eax, eax
jb 0x43a9bd
ja 0x43a901
test edx, edx
je 0x43a9bd
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x20]
add ecx, ecx
movups xmm4, xmmword [eax + ecx*8]
movzx eax, byte [edi + 0x55]
movd xmm0, eax
mov eax, dword [esp + 0x1c]
pslld xmm4, xmm0
movaps xmm1, xmm4
movups xmm3, xmmword [eax + ecx*8]
movzx eax, byte [edi + 0x4d]
mov ecx, dword [esp + 0x28]
movd xmm0, eax
mov eax, dword [esp + 0x18]
pslld xmm3, xmm0
movaps xmm0, xmm4
pand xmm0, xmmword [0x4f2970]
pslld xmm3, 1
por xmm3, xmm0
movd xmm0, eax
paddd xmm1, xmm3
psubd xmm3, xmm4
pslld xmm1, xmm0
movd xmm0, eax
mov eax, ecx
pslld xmm3, xmm0
cvtdq2ps xmm2, xmm1
shl eax, 5
add ecx, 1
mov dword [esp + 0x28], ecx
adc dword [esp + 8], 0
cvtdq2ps xmm1, xmm3
mulps xmm2, xmm5
mulps xmm1, xmm5
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movups xmmword [eax + esi], xmm0
unpckhps xmm2, xmm1
movups xmmword [eax + esi + 0x10], xmm2
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
jb 0x43a911
ja 0x43a9b9
cmp ecx, edx
jb 0x43a911
mov ecx, dword [esp + 0x38]
shld eax, edx, 2
shl edx, 2
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
cmp eax, ecx
ja 0x43bb66
jae 0x43aa67
mov eax, dword [esp + 0x20]
mov cl, byte [edi + 0x55]
mov esi, dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
shl esi, cl
mov cl, byte [edi + 0x4d]
mov edx, dword [eax + edx*4]
mov eax, esi
shl edx, cl
and eax, 1
mov ecx, dword [esp + 0x18]
add edx, edx
or edx, eax
lea eax, [esi + edx]
sub edx, esi
shl eax, cl
mov ecx, dword [esp + 8]
movd xmm0, eax
mov eax, dword [esp + 0x10]
mov esi, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [eax + ecx*8], xmm0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
shl edx, cl
mov ecx, dword [esp + 0x38]
movd xmm0, edx
mov edx, dword [esp + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + edx*8 + 4], xmm0
add edx, 1
mov dword [esp + 8], edx
adc eax, 0
mov dword [esp + 0xc], eax
cmp eax, ecx
jb 0x43a9da
ja 0x43bb66
cmp edx, dword [esp + 0x2c]
jb 0x43a9da
jmp 0x43bb66
mov eax, edx
mov edi, ecx
shrd eax, edi, 2
xorps xmm0, xmm0
shr edi, 2
cmp dword [esp + 0x48], 0
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 8], eax
movlpd qword [esp + 0x40], xmm0
jbe 0x43ac81
mov edi, dword [esp + 0x48]
dec edi
cmp dword [esp + 0xc], 0
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x3c]
jb 0x43ae49
ja 0x43aac3
test eax, eax
je 0x43ae49
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x20]
mov esi, ecx
movzx ecx, byte [edi + 0x55]
add esi, esi
mov eax, dword [edx + esi*8]
mov edx, dword [edx + esi*8 + 4]
shl edx, cl
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x20]
shl eax, cl
mov dword [esp + 0x28], eax
and eax, 1
mov edx, dword [edx + esi*8 + 8]
shl edx, cl
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx + esi*8 + 0xc]
shl edx, cl
movzx ecx, byte [edi + 0x4d]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
mov edx, dword [edi + esi*8]
mov edi, dword [edi + esi*8 + 4]
shl edx, cl
add edx, edx
shl edi, cl
or edx, eax
add edi, edi
mov eax, dword [esp + 0x4c]
and eax, 1
or edi, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi*8 + 8]
shl eax, cl
add eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
and eax, 1
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + esi*8 + 0xc]
mov eax, dword [esp + 0x34]
and eax, 1
shl esi, cl
mov ecx, dword [esp + 0x54]
add esi, esi
or esi, eax
mov eax, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x58], esi
sub edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
shl eax, cl
shl esi, 5
shl edx, cl
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax], xmm0
movd xmm0, edx
mov edx, dword [esp + 0x4c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 4], xmm0
lea eax, [edx + edi]
shl eax, cl
sub edi, edx
mov edx, dword [esp + 0x18]
shl edi, cl
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 8], xmm0
movd xmm0, edi
mov edi, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 0xc], xmm0
lea eax, [edi + edx]
shl eax, cl
sub edx, edi
mov edi, dword [esp + 0x34]
shl edx, cl
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 0x10], xmm0
movd xmm0, edx
mov edx, dword [esp + 0x58]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 0x14], xmm0
lea eax, [edi + edx]
shl eax, cl
sub edx, edi
mov edi, dword [esp + 0x3c]
shl edx, cl
mov ecx, dword [esp + 0x14]
movd xmm0, eax
add ecx, 1
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x14], ecx
mulss xmm0, xmm1
movss dword [esi + eax + 0x18], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax + 0x1c], xmm0
mov eax, dword [esp + 0x24]
adc eax, 0
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0xc]
jb 0x43aad3
mov eax, dword [esp + 8]
ja 0x43ac78
cmp ecx, eax
jb 0x43aad3
mov esi, dword [esp + 0x10]
jmp 0x43ae3d
cmp dword [esp + 0xc], 0
jb 0x43ae49
ja 0x43ac96
test eax, eax
je 0x43ae49
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x3c]
mov edi, ecx
mov edx, dword [esp + 0x20]
add edi, edi
movzx ecx, byte [esi + 0x55]
mov eax, dword [edx + edi*8]
mov edx, dword [edx + edi*8 + 4]
shl edx, cl
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x20]
shl eax, cl
mov dword [esp + 0x24], eax
and eax, 1
mov edx, dword [edx + edi*8 + 8]
shl edx, cl
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
mov edx, dword [edx + edi*8 + 0xc]
shl edx, cl
movzx ecx, byte [esi + 0x4d]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + edi*8]
mov esi, dword [esi + edi*8 + 4]
shl edx, cl
add edx, edx
shl esi, cl
or edx, eax
add esi, esi
mov eax, dword [esp + 0x34]
and eax, 1
or esi, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + edi*8 + 8]
shl eax, cl
add eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
and eax, 1
or dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + edi*8 + 0xc]
mov eax, dword [esp + 0x4c]
and eax, 1
shl edi, cl
mov ecx, dword [esp + 0x18]
add edi, edi
or edi, eax
shl ecx, 5
mov eax, dword [esp + 0x24]
add eax, edx
sub edx, dword [esp + 0x24]
sar eax, 1
sar edx, 1
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + eax], xmm0
movd xmm0, edx
mov edx, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + eax + 4], xmm0
lea eax, [edx + esi]
sar eax, 1
sub esi, edx
mov edx, dword [esp + 0x14]
sar esi, 1
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + eax + 8], xmm0
movd xmm0, esi
mov esi, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + eax + 0xc], xmm0
lea eax, [esi + edx]
sar eax, 1
movd xmm0, eax
sub edx, esi
mov eax, dword [esp + 0x10]
mov esi, eax
cvtdq2ps xmm0, xmm0
sar edx, 1
mulss xmm0, xmm1
movss dword [ecx + eax + 0x10], xmm0
movd xmm0, edx
mov edx, dword [esp + 0x4c]
cvtdq2ps xmm0, xmm0
lea eax, [edx + edi]
sub edi, edx
sar eax, 1
sar edi, 1
mulss xmm0, xmm1
movss dword [ecx + esi + 0x14], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x28]
mulss xmm0, xmm1
movss dword [ecx + esi + 0x18], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + esi + 0x1c], xmm0
mov ecx, dword [esp + 0x18]
add ecx, 1
mov dword [esp + 0x18], ecx
adc eax, 0
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0xc]
jb 0x43aca6
mov eax, dword [esp + 8]
ja 0x43ae3d
cmp ecx, eax
jb 0x43aca6
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
shld dword [esp + 0xc], eax, 2
shl eax, 2
mov dword [esp + 8], eax
cmp dword [esp + 0xc], ecx
ja 0x43bb66
jb 0x43ae6a
cmp eax, edx
jae 0x43bb66
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax*4]
mov cl, byte [edi + 0x55]
shl edx, cl
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + eax*4]
mov eax, edx
mov cl, byte [edi + 0x4d]
and eax, 1
shl esi, cl
mov ecx, dword [esp + 0x48]
add esi, esi
or esi, eax
lea eax, [edx + esi]
sub esi, edx
sar eax, 1
shl eax, cl
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
sar esi, 1
movd xmm0, eax
mov eax, dword [esp + 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx*8], xmm0
mov ecx, dword [esp + 0x48]
shl esi, cl
mov ecx, dword [esp + 0x38]
movd xmm0, esi
mov esi, eax
mov eax, dword [esp + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 8], eax
adc edx, 0
mov dword [esp + 0xc], edx
cmp edx, ecx
jb 0x43ae6a
ja 0x43bb66
cmp eax, dword [esp + 0x2c]
jb 0x43ae6a
jmp 0x43bb66
cmp dword [0x5192d0], 0
je 0x43b0a5
cmp byte [edi + 0x1d], 0x18
ja 0x43b0a5
movaps xmm4, xmmword [0x4f2980]
mov eax, edx
mov esi, ecx
xorps xmm0, xmm0
shrd eax, esi, 2
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 8], eax
movzx eax, byte [edi + 0x4d]
mov dword [esp + 0xc], esi
add eax, 0xfffffff8
mov esi, dword [esp + 0x48]
add eax, esi
shr dword [esp + 0xc], 2
add esi, 0xfffffff8
mov dword [esp + 0x30], eax
movzx eax, byte [edi + 0x55]
add eax, esi
cmp dword [esp + 0xc], 0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x34], eax
jb 0x43b00a
ja 0x43af75
mov eax, dword [esp + 8]
test eax, eax
je 0x43b00e
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x34]
add eax, eax
movups xmm2, xmmword [ecx + eax*8]
movups xmm1, xmmword [edi + eax*8]
mov eax, dword [esp + 0x14]
pslld xmm2, xmm0
movd xmm0, dword [esp + 0x30]
pslld xmm1, xmm0
shl eax, 5
paddd xmm1, xmm2
cvtdq2ps xmm3, xmm1
cvtdq2ps xmm1, xmm2
mulps xmm3, xmm4
mulps xmm1, xmm4
movaps xmm0, xmm3
unpcklps xmm0, xmm1
movups xmmword [eax + esi], xmm0
unpckhps xmm3, xmm1
movups xmmword [eax + esi + 0x10], xmm3
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
add eax, 1
mov dword [esp + 0x14], eax
adc esi, 0
cmp esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x10]
jb 0x43af91
ja 0x43affe
cmp eax, edx
jb 0x43af91
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 8]
shld dword [esp + 0xc], eax, 2
shl eax, 2
mov dword [esp + 8], eax
cmp dword [esp + 0xc], ecx
ja 0x43bb66
jb 0x43b02f
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
shl eax, cl
add eax, edx
mov ecx, dword [esp + 0x38]
movd xmm0, eax
mov eax, dword [esp + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + eax*8], xmm0
movd xmm0, edx
mov edx, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 8], eax
adc edx, 0
mov dword [esp + 0xc], edx
cmp edx, ecx
jb 0x43b033
ja 0x43ba9a
cmp eax, edi
jb 0x43b033
jmp 0x43ba9a
mov eax, edx
mov esi, ecx
movzx edx, byte [edi + 0x4d]
xorps xmm0, xmm0
add edx, dword [esp + 0x48]
shrd eax, esi, 2
mov dword [esp + 0x18], edx
movzx edx, byte [edi + 0x55]
add edx, dword [esp + 0x48]
shr esi, 2
mov dword [esp + 8], esi
test esi, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
movlpd qword [esp + 0x40], xmm0
jb 0x43b264
ja 0x43b0f3
test eax, eax
je 0x43b264
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov eax, ecx
mov ecx, dword [esp + 0x20]
shl eax, 4
mov dword [esp + 0x58], eax
mov edx, dword [eax + ecx]
mov ecx, dword [esp + 0x4c]
shl edx, cl
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
mov esi, dword [eax + edx + 4]
mov edi, dword [eax + edx + 8]
mov edx, dword [eax + edx + 0xc]
shl esi, cl
shl edi, cl
shl edx, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], edi
mov edx, dword [eax + ecx + 4]
mov ecx, dword [esp + 0x18]
shl edx, cl
mov ecx, dword [esp + 0x1c]
add edx, esi
mov esi, dword [eax + ecx + 8]
mov ecx, dword [esp + 0x18]
shl esi, cl
mov ecx, dword [esp + 0x1c]
add esi, edi
mov edi, dword [eax + ecx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shl eax, 5
shl edi, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
add edi, dword [esp + 0x34]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x18]
shl eax, cl
add eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
movd xmm0, eax
mov eax, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx], xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx + 4], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx + 8], xmm0
movd xmm0, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx + 0xc], xmm0
movd xmm0, esi
mov esi, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0x14]
add ecx, 1
mov dword [esp + 0x14], ecx
mulss xmm0, xmm1
movss dword [eax + esi + 0x10], xmm0
movd xmm0, dword [esp + 0x40]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x14], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x18], xmm0
movd xmm0, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x1c], xmm0
mov eax, dword [esp + 0x30]
adc eax, 0
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 8]
jb 0x43b103
mov eax, dword [esp + 0xc]
ja 0x43b258
cmp ecx, eax
jb 0x43b103
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
shld dword [esp + 8], eax, 2
shl eax, 2
mov dword [esp + 0xc], eax
cmp dword [esp + 8], ecx
ja 0x43bb66
jb 0x43b285
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x4c]
shl edx, cl
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x18]
shl eax, cl
add eax, edx
mov ecx, dword [esp + 0x38]
movd xmm0, eax
mov eax, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8], xmm0
movd xmm0, edx
mov edx, dword [esp + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 0xc], eax
adc edx, 0
mov dword [esp + 8], edx
cmp edx, ecx
jb 0x43b289
ja 0x43ba9a
cmp eax, edi
jb 0x43b289
jmp 0x43ba9a
cmp dword [0x5192d0], 0
je 0x43b49c
cmp byte [edi + 0x1d], 0x18
ja 0x43b49c
movaps xmm4, xmmword [0x4f2980]
mov eax, edx
mov esi, ecx
xorps xmm0, xmm0
shrd eax, esi, 2
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 8], eax
movzx eax, byte [edi + 0x4d]
mov dword [esp + 0xc], esi
add eax, 0xfffffff8
mov esi, dword [esp + 0x48]
add eax, esi
shr dword [esp + 0xc], 2
add esi, 0xfffffff8
mov dword [esp + 0x34], eax
movzx eax, byte [edi + 0x55]
add eax, esi
cmp dword [esp + 0xc], 0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x30], eax
jb 0x43b3ff
ja 0x43b36a
mov eax, dword [esp + 8]
test eax, eax
je 0x43b403
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x34]
add eax, eax
movups xmm2, xmmword [edi + eax*8]
movups xmm1, xmmword [ecx + eax*8]
mov eax, dword [esp + 0x14]
pslld xmm2, xmm0
movd xmm0, dword [esp + 0x30]
pslld xmm1, xmm0
cvtdq2ps xmm3, xmm2
shl eax, 5
psubd xmm2, xmm1
cvtdq2ps xmm1, xmm2
mulps xmm3, xmm4
mulps xmm1, xmm4
movaps xmm0, xmm3
unpcklps xmm0, xmm1
movups xmmword [eax + esi], xmm0
unpckhps xmm3, xmm1
movups xmmword [eax + esi + 0x10], xmm3
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
add eax, 1
mov dword [esp + 0x14], eax
adc esi, 0
cmp esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x10]
jb 0x43b386
ja 0x43b3f3
cmp eax, edx
jb 0x43b386
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 8]
shld dword [esp + 0xc], eax, 2
shl eax, 2
mov dword [esp + 8], eax
cmp dword [esp + 0xc], ecx
ja 0x43bb66
jb 0x43b424
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x34]
shl edx, cl
mov ecx, dword [esp + 0x20]
movd xmm0, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
shl eax, cl
mov ecx, edx
mov edx, dword [esp + 0xc]
sub ecx, eax
mov eax, dword [esp + 8]
mulss xmm0, dword [0x4f2744]
movss dword [esi + eax*8], xmm0
movd xmm0, ecx
mov ecx, dword [esp + 0x38]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 8], eax
adc edx, 0
mov dword [esp + 0xc], edx
cmp edx, ecx
jb 0x43b428
ja 0x43ba9a
cmp eax, edi
jb 0x43b428
jmp 0x43ba9a
mov eax, edx
mov esi, ecx
movzx edx, byte [edi + 0x4d]
xorps xmm0, xmm0
add edx, dword [esp + 0x48]
shrd eax, esi, 2
mov dword [esp + 0x4c], edx
movzx edx, byte [edi + 0x55]
add edx, dword [esp + 0x48]
shr esi, 2
mov dword [esp + 8], esi
test esi, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
movlpd qword [esp + 0x40], xmm0
jb 0x43b649
ja 0x43b4ea
test eax, eax
je 0x43b649
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x1c]
mov edi, ecx
mov ecx, dword [esp + 0x4c]
shl edi, 4
mov dword [esp + 0x40], edi
mov edx, dword [edi + eax]
mov esi, dword [edi + eax + 4]
mov eax, dword [edi + eax + 8]
shl eax, cl
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
shl edx, cl
shl esi, cl
mov dword [esp + 0x58], edx
mov eax, dword [edi + eax + 0xc]
shl eax, cl
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
movd xmm0, dword [esp + 0x58]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], esi
mov eax, dword [edi + eax]
shl eax, cl
sub edx, eax
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x20]
mulss xmm0, xmm1
mov eax, dword [edi + edx + 4]
shl eax, cl
sub esi, eax
mov eax, dword [edi + edx + 8]
mov edi, dword [esp + 0x24]
shl eax, cl
sub edi, eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + edx + 0xc]
mov edx, dword [esp + 0x10]
shl eax, cl
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, dword [esp + 0x14]
shl eax, 5
movss dword [eax + edx], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + edx + 4], xmm0
movd xmm0, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + edx + 8], xmm0
movd xmm0, esi
mov esi, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0xc], xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x10], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x14], xmm0
movd xmm0, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x18], xmm0
movd xmm0, ecx
mov ecx, dword [esp + 0x14]
cvtdq2ps xmm0, xmm0
add ecx, 1
mov dword [esp + 0x14], ecx
mulss xmm0, xmm1
movss dword [eax + esi + 0x1c], xmm0
mov eax, dword [esp + 0x30]
adc eax, 0
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 8]
jb 0x43b4fa
mov eax, dword [esp + 0x18]
ja 0x43b63d
cmp ecx, eax
jb 0x43b4fa
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
shld dword [esp + 8], eax, 2
shl eax, 2
mov dword [esp + 0x18], eax
cmp dword [esp + 8], ecx
ja 0x43bb66
jb 0x43b66a
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x4c]
shl edx, cl
mov ecx, dword [esp + 0x20]
movd xmm0, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
shl eax, cl
mov ecx, edx
mov edx, dword [esp + 8]
sub ecx, eax
mov eax, dword [esp + 0x18]
mulss xmm0, xmm1
movss dword [esi + eax*8], xmm0
movd xmm0, ecx
mov ecx, dword [esp + 0x38]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 0x18], eax
adc edx, 0
mov dword [esp + 8], edx
cmp edx, ecx
jb 0x43b66e
ja 0x43ba9a
cmp eax, edi
jb 0x43b66e
jmp 0x43ba9a
cmp dword [0x5192d0], 0
je 0x43b873
cmp byte [edi + 0x1d], 0x18
ja 0x43b873
movaps xmm3, xmmword [0x4f2980]
mov eax, edx
mov esi, ecx
xorps xmm0, xmm0
shrd eax, esi, 2
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 8], eax
movzx eax, byte [edi + 0x4d]
mov dword [esp + 0xc], esi
add eax, 0xfffffff8
mov esi, dword [esp + 0x48]
add eax, esi
shr dword [esp + 0xc], 2
add esi, 0xfffffff8
mov dword [esp + 0x34], eax
movzx eax, byte [edi + 0x55]
add eax, esi
cmp dword [esp + 0xc], 0
mov esi, dword [esp + 0x10]
mov dword [esp + 0x30], eax
jb 0x43b7e2
ja 0x43b751
mov eax, dword [esp + 8]
test eax, eax
je 0x43b7e6
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 8]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], eax
movd xmm0, dword [esp + 0x34]
add eax, eax
movups xmm1, xmmword [edx + eax*8]
pslld xmm1, xmm0
movd xmm0, dword [esp + 0x30]
cvtdq2ps xmm2, xmm1
movups xmm1, xmmword [ecx + eax*8]
mov eax, dword [esp + 0x14]
mulps xmm2, xmm3
shl eax, 5
pslld xmm1, xmm0
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm2
mulps xmm1, xmm3
unpcklps xmm0, xmm1
movups xmmword [eax + esi], xmm0
unpckhps xmm2, xmm1
movups xmmword [eax + esi + 0x10], xmm2
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
add eax, 1
mov dword [esp + 0x14], eax
adc esi, 0
cmp esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x10]
jb 0x43b76d
ja 0x43b7d6
cmp eax, edi
jb 0x43b76d
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 8]
shld dword [esp + 0xc], eax, 2
shl eax, 2
mov dword [esp + 8], eax
cmp dword [esp + 0xc], ecx
ja 0x43bb66
jb 0x43b807
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + edi*4]
shl eax, cl
mov ecx, dword [esp + 0x30]
movd xmm0, eax
mov eax, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + edi*8], xmm0
mov eax, dword [eax + edi*4]
shl eax, cl
mov ecx, dword [esp + 0x38]
movd xmm0, eax
mov eax, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x4f2744]
movss dword [esi + edi*8 + 4], xmm0
add edi, 1
adc eax, 0
mov dword [esp + 0xc], eax
cmp eax, ecx
jb 0x43b80b
ja 0x43ba9a
cmp edi, edx
jb 0x43b80b
jmp 0x43ba9a
mov eax, edx
mov esi, ecx
movzx edx, byte [edi + 0x4d]
xorps xmm0, xmm0
add edx, dword [esp + 0x48]
shrd eax, esi, 2
mov dword [esp + 0x18], edx
movzx edx, byte [edi + 0x55]
add edx, dword [esp + 0x48]
shr esi, 2
mov dword [esp + 8], esi
test esi, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
movlpd qword [esp + 0x40], xmm0
jb 0x43ba1a
ja 0x43b8c1
test eax, eax
je 0x43ba1a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x1c]
mov eax, ecx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
shl eax, 4
mov dword [esp + 0x40], eax
mov edx, dword [eax + esi + 4]
shl edx, cl
mov dword [esp + 0x54], edx
mov edx, dword [eax + esi + 8]
shl edx, cl
mov dword [esp + 0x34], edx
mov edx, dword [eax + esi + 0xc]
mov esi, dword [eax + edi + 4]
shl edx, cl
mov ecx, dword [esp + 0x28]
shl esi, cl
mov dword [esp + 0x30], edx
mov edx, dword [eax + edi]
mov edi, dword [eax + edi + 8]
shl edx, cl
shl edi, cl
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + ecx + 0xc]
mov ecx, dword [esp + 0x28]
shl eax, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
shl eax, 5
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x18]
shl eax, cl
mov ecx, dword [esp + 0x10]
movd xmm0, eax
mov eax, dword [esp + 0x58]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx + 4], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + ecx + 8], xmm0
movd xmm0, esi
mov esi, ecx
cvtdq2ps xmm0, xmm0
mov ecx, dword [esp + 0x14]
add ecx, 1
mov dword [esp + 0x14], ecx
mulss xmm0, xmm1
movss dword [eax + esi + 0xc], xmm0
movd xmm0, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x10], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x14], xmm0
movd xmm0, dword [esp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x18], xmm0
movd xmm0, dword [esp + 0x4c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [eax + esi + 0x1c], xmm0
mov eax, dword [esp + 0x24]
adc eax, 0
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 8]
jb 0x43b8d1
mov eax, dword [esp + 0xc]
ja 0x43ba0e
cmp ecx, eax
jb 0x43b8d1
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
shld dword [esp + 8], eax, 2
shl eax, 2
mov dword [esp + 0xc], eax
cmp dword [esp + 8], ecx
ja 0x43bb66
jb 0x43ba3b
cmp eax, edx
jae 0x43bb66
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + eax*4]
mov ecx, dword [esp + 0x18]
shl eax, cl
mov ecx, dword [esp + 0x20]
movd xmm0, eax
mov eax, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8], xmm0
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x28]
shl eax, cl
mov ecx, dword [esp + 0x38]
movd xmm0, eax
mov eax, dword [esp + 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esi + eax*8 + 4], xmm0
add eax, 1
mov dword [esp + 0xc], eax
adc dword [esp + 8], 0
cmp dword [esp + 8], ecx
jb 0x43ba3f
ja 0x43ba9a
cmp eax, edx
jb 0x43ba3f
mov edi, dword [esp + 0x3c]
jmp 0x43bb66
xorps xmm0, xmm0
movlpd qword [esp + 0x58], xmm0
test ecx, ecx
jb 0x43bb66
ja 0x43babe
test edx, edx
je 0x43bb66
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x6c], 0
jbe 0x43bb46
mov ecx, dword [esp + 0x40]
add ecx, eax
imul eax, dword [esp + 0x6c]
mov dword [esp + 0x58], ecx
lea edx, [esi + eax*4]
mov esi, dword [esp + 0x6c]
lea eax, [edi + 0x4d]
mov dword [esp + 0x28], eax
mov edi, eax
mov eax, dword [edi + 3]
movzx ecx, byte [edi]
mov edi, dword [esp + 0x58]
add ecx, dword [esp + 0x48]
mov eax, dword [eax + edi*4]
mov edi, dword [esp + 0x28]
shl eax, cl
add edi, 8
mov dword [esp + 0x28], edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4f2780]
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
lea edx, [edx + 4]
sub esi, 1
jne 0x43baf4
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
add eax, 1
mov dword [esp + 0x24], eax
adc dword [esp + 0x14], 0
cmp dword [esp + 0x14], ecx
jb 0x43bace
ja 0x43bb66
cmp eax, edx
jb 0x43bace
mov edx, dword [esp + 0x2c]
mov eax, edx
add dword [esp + 0x70], edx
adc dword [esp + 0x74], ecx
imul eax, dword [esp + 0x6c]
sub dword [esp + 0x68], edx
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x64]
sbb eax, ecx
mov dword [esp + 0x10], esi
add dword [edi + 0x90], edx
mov dword [esp + 0x64], eax
adc dword [edi + 0x94], ecx
sub dword [edi + 0x48], edx
movss xmm1, dword [0x4f2740]
mov edx, dword [esp + 0x68]
test eax, eax
ja 0x43a661
jb 0x43bbbb
test edx, edx
jne 0x43a661
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
jmp 0x43bbc9
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x84]
pop edi
pop esi
xor ecx, esp
call fcn.00448363
mov esp, ebp
pop ebp
ret