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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x48
mov ebp, dword [0x5f12d4]
shl ebp, 3
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ecx, dword [ecx]
lea edx, [ebp + ebp*2]
mov eax, dword [eax]
cmp eax, ecx
mov dword [esp + 0x28], edx
mov ebx, dword [ebx]
jne 0x43cfc5
mov edx, eax
neg edx
cmp ebx, eax
lea edx, [ebx + edx + 1]
jl 0x43cfbb
mov esi, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebp
mov edi, dword [esi]
mov esi, ebp
imul esi, ecx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x5c]
sub edi, esi
mov esi, ebp
imul esi, eax
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x60]
sub edi, esi
mov dword [esp + 4], edi
mov ebp, 6
cmp edx, 6
mov edi, ecx
mov esi, ecx
cmovl ebp, edx
neg edi
mov dword [0x5e12c0], ebp
mov ebp, dword [esp + 8]
imul ebp, ecx
mov ebx, dword [esp + 0x14]
add ebp, dword [esp + 0x18]
cmp eax, ecx
lea ebx, [ebx + edi + 1]
jl 0x43cfab
mov edi, dword [esp + 8]
imul edi, eax
add edi, dword [esp + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], edi
mov dword [esp], edx
mov dword [esp + 0x24], eax
add esp, 0xffffffe4
mov edi, 6
cmp ebx, 6
mov eax, dword [esp + 0x48]
mov edx, ebp
cmovl edi, ebx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, 0x5e11a0
mov dword [esp + 0x10], 0x5e12c4
mov dword [esp + 0x14], 0x5e12c0
mov dword [0x5e12c4], edi
mov dword [esp + 0x18], 0x5f12d4
call fcn.0043d18c
mov edx, dword [0x5e12c0]
dec edx
js 0x43cf88
mov eax, dword [0x5e12c4]
xor ecx, ecx
mov edi, dword [esp + 0x24]
dec eax
js 0x43cf88
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x38], ecx
lea ebx, [edi - 1]
imul ebx, edi
lea ebp, [ecx + ecx*2]
mov edx, ebx
xor eax, eax
shr edx, 0x1f
add ebx, edx
mov edx, esi
sar ebx, 1
add ebx, esi
shl ebp, 4
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x64]
cmp edx, edi
jg 0x43cf6a
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
add ebp, eax
movsd xmm0, qword [ebx + ebp*8 - 8]
subsd xmm0, qword [esi + eax*8 + 0x5e11a0]
movsd qword [ebx + ebp*8 - 8], xmm0
inc eax
inc edx
cmp eax, ecx
jle 0x43cf47
mov ecx, dword [esp + 0x38]
inc edi
inc ecx
mov esi, dword [esp + 0x30]
cmp ecx, dword [esp + 0x34]
jle 0x43cf14
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
add esi, 6
add ebx, 0xfffffffa
cmp esi, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jle 0x43ce9e
mov ecx, dword [esp + 0x10]
mov edx, dword [esp]
mov eax, dword [esp + 0x24]
add eax, 6
add edx, 0xfffffffa
cmp eax, dword [esp + 0xc]
jle 0x43ce52
add esp, 0x48
pop ebp
pop ebx
pop edi
pop esi
ret 0x20
mov edx, eax
neg edx
add edx, ebx
cmp ebx, eax
jl 0x43cfbb
mov esi, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
mov edi, dword [esi]
mov esi, ebp
imul esi, ecx
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x5c]
sub edi, esi
mov esi, ebp
imul esi, eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x60]
sub edi, esi
mov dword [esp], edi
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x10]
mov ebx, ebp
mov esi, dword [esp + 8]
neg ebx
imul esi, ebp
mov ecx, dword [esp + 0x20]
add esi, dword [esp + 0x14]
cmp ecx, ebp
lea ebx, [ecx + ebx + 1]
jl 0x43d15d
mov edi, 6
lea ecx, [edx + 1]
cmp ecx, 6
mov dword [esp + 4], edx
cmovge ecx, edi
mov edi, dword [esp + 8]
imul edi, eax
add edi, dword [esp]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x2c]
add esp, 0xffffffe4
mov eax, 6
cmp ebx, 6
mov edx, dword [esp + 0x4c]
cmovl eax, ebx
mov dword [0x5e12c4], eax
mov eax, 0x5e11a0
mov dword [esp + 0xc], edx
mov edx, esi
mov dword [esp + 0x10], 0x5e12c4
mov dword [esp + 0x14], 0x5e12c0
mov ecx, dword [esp + 0x84]
mov dword [0x5e12c0], edi
mov dword [esp + 0x18], 0x5f12d4
call fcn.0043d18c
mov edx, dword [0x5e12c0]
dec edx
js 0x43d129
mov edi, dword [0x5e12c4]
xor eax, eax
mov ecx, dword [esp + 0x24]
dec edi
js 0x43d129
mov dword [esp + 0x40], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x38], edx
lea ebx, [ecx - 1]
imul ebx, ecx
xor esi, esi
mov edi, ebx
shr edi, 0x1f
add ebx, edi
lea edi, [eax + eax*2]
sar ebx, 1
mov dword [esp + 0x34], ebp
add ebx, ebp
shl edi, 4
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x64]
lea eax, [ebx + esi]
movsd xmm0, qword [ebp + eax*8 - 8]
subsd xmm0, qword [edi + esi*8 + 0x5e11a0]
inc esi
movsd qword [ebp + eax*8 - 8], xmm0
cmp esi, edx
jle 0x43d0f2
mov eax, dword [esp + 0x3c]
inc ecx
inc eax
mov edx, dword [esp + 0x38]
cmp eax, edx
mov ebp, dword [esp + 0x34]
jle 0x43d0c5
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add ebp, 6
add ebx, 0xfffffffa
cmp ebp, dword [esp + 0x20]
lea esi, [esi + eax*2]
jle 0x43d04d
mov eax, dword [esp + 0x24]
add eax, 6
mov edx, dword [esp + 4]
add edx, 0xfffffffa
cmp eax, dword [esp + 0xc]
jle 0x43d002
jmp 0x43cfbb
add eax, 6
add edx, 0xfffffffa
cmp eax, dword [esp + 0xc]
jle 0x43d002
jmp 0x43cfbb