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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov edx, dword [ebp + 0x28]
mov ecx, 0
test dl, 3
mov dword [esp + 0x68], 0
push esi
mov esi, dword [ebp + 0x1c]
mov eax, 0x10
cmovne eax, ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x18], eax
mov ecx, esi
neg ecx
mov dword [esp + 0x74], 0
lea eax, [edx*8]
mov dword [esp + 0x78], 0x1000000
sbb ecx, ecx
not eax
and eax, 0x10
and ecx, 0x10
mov dword [esp + 0x1c], eax
mov eax, edx
and eax, 4
mov dword [esp + 0x20], ecx
push edi
test esi, esi
je 0x43b424
mov byte [esp + 0x16], 1
test eax, eax
jne 0x43b429
mov byte [esp + 0x16], 0
test esi, esi
je 0x43b436
mov byte [esp + 0x17], 1
test eax, eax
je 0x43b43b
mov byte [esp + 0x17], 0
mov edi, dword [ebp + 0x18]
test dl, 8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
je 0x43b478
add eax, 0xfffffff0
add edi, 0xfffffff0
add eax, edx
add esi, 0xfffffff0
mov dword [esp + 0x18], eax
neg ecx
mov eax, dword [esp + 0x1c]
add edi, edx
neg eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
add esi, edx
mov eax, dword [esp + 0x20]
neg eax
mov dword [esp + 0x20], eax
jmp 0x43b47c
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x28]
cmp edx, 0x40
jb 0x43b5e0
test al, 0x10
je 0x43b5e0
movaps xmm5, xmmword [esp + 0x70]
and eax, 1
shr edx, 6
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
movups xmm1, xmmword [edi]
movaps xmmword [esp + 0x30], xmm1
test eax, eax
je 0x43b4d0
movaps xmm2, xmm1
paddd xmm2, xmm5
movaps xmm3, xmm2
paddd xmm3, xmm5
movaps xmm4, xmm3
paddd xmm4, xmm5
movaps xmm0, xmm4
paddd xmm0, xmm5
movups xmmword [edi], xmm0
jmp 0x43b4e5
mov eax, dword [esp + 0x1c]
add edi, eax
movups xmm2, xmmword [edi]
add edi, eax
movups xmm3, xmmword [edi]
add edi, eax
movups xmm4, xmmword [edi]
add edi, eax
cmp byte [esp + 0x16], 0
movaps xmmword [esp + 0x60], xmm4
movaps xmmword [esp + 0x50], xmm3
movaps xmmword [esp + 0x40], xmm2
je 0x43b533
movups xmm0, xmmword [esi]
add esi, ecx
pxor xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
movups xmm0, xmmword [esi]
add esi, ecx
pxor xmm0, xmm2
movaps xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [esi]
add esi, ecx
pxor xmm0, xmm3
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [esi]
add esi, ecx
pxor xmm0, xmm4
movaps xmmword [esp + 0x60], xmm0
push dword [ebp + 0x14]
lea eax, [esp + 0x64]
push dword [ebp + 0x10]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x44]
push eax
call dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
add esp, 0x18
cmp byte [esp + 0x17], 0
je 0x43b58c
movups xmm0, xmmword [esi]
add esi, ecx
pxor xmm0, xmmword [esp + 0x30]
movups xmm1, xmmword [esi]
add esi, ecx
pxor xmm1, xmmword [esp + 0x40]
movups xmm2, xmmword [esi]
add esi, ecx
pxor xmm2, xmmword [esp + 0x50]
movups xmm3, xmmword [esi]
add esi, ecx
pxor xmm3, xmmword [esp + 0x60]
jmp 0x43b5a0
movaps xmm0, xmmword [esp + 0x30]
movaps xmm1, xmmword [esp + 0x40]
movaps xmm2, xmmword [esp + 0x50]
movaps xmm3, xmmword [esp + 0x60]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
movaps xmm5, xmmword [esp + 0x70]
movups xmmword [eax], xmm0
add eax, edx
movups xmmword [eax], xmm1
add eax, edx
movups xmmword [eax], xmm2
add eax, edx
movups xmmword [eax], xmm3
add eax, edx
mov edx, dword [ebp + 0x24]
sub edx, 0x40
mov dword [esp + 0x18], eax
sub dword [esp + 0x28], 1
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x24], edx
jne 0x43b4a3
mov eax, dword [ebp + 0x28]
cmp edx, 0x10
jb 0x43b674
and eax, 1
shr edx, 4
mov dword [ebp + 0x28], eax
mov dword [esp + 0x28], edx
nop word [eax + eax]
cmp byte [esp + 0x16], 0
movups xmm1, xmmword [edi]
movaps xmmword [esp + 0x70], xmm1
je 0x43b61b
movups xmm0, xmmword [esi]
pxor xmm0, xmm1
movaps xmmword [esp + 0x70], xmm0
test eax, eax
je 0x43b622
inc byte [edi + 0xf]
push dword [ebp + 0x14]
lea eax, [esp + 0x74]
push dword [ebp + 0x10]
push eax
call dword [ebp + 8]
add esp, 0xc
cmp byte [esp + 0x17], 0
je 0x43b645
movups xmm0, xmmword [esi]
pxor xmm0, xmmword [esp + 0x70]
jmp 0x43b64a
movaps xmm0, xmmword [esp + 0x70]
mov eax, dword [esp + 0x18]
mov edx, dword [ebp + 0x24]
add edi, dword [esp + 0x1c]
sub edx, 0x10
add esi, dword [esp + 0x24]
movups xmmword [eax], xmm0
add eax, dword [esp + 0x20]
sub dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x24], edx
jne 0x43b600
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret