Function at 0x43a5b0
Capabilities:
Get common file path
Get session user name

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x518420
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x50
mov eax, dword [0x56e754]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x34]
push edx
call fcn.0041a7e0
mov dword [ebp - 4], 0
mov byte [ebp - 4], 1
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
mov eax, dword [0x588030]
cmp eax, dword [edi + 0x18]
jle 0x43a77a
push 0x588030
call fcn.004ca983
add esp, 4
cmp dword [0x588030], 0xffffffff
jne 0x43a77a
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0xff
push eax
push 0x585db8
xor esi, esi
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
js 0x43a6ce
mov eax, dword [0x588028]
cmp eax, dword [edi + 0x18]
jle 0x43a6bf
push 0x588028
call fcn.004ca983
add esp, 4
cmp dword [0x588028], 0xffffffff
jne 0x43a6bf
mov ecx, 0x585db8
mov dword [0x57c834], 0x547ca0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43a693
sub ecx, edx
mov dword [0x57c83c], 0xa
sar ecx, 1
push 0x588028
mov dword [0x57c838], ecx
call fcn.004ca939
add esp, 4
mov dword [0x585fb8], 0x57c830
mov esi, 1
push 0x585fc8
push 0
push 0
push 0x28
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x43a758
mov eax, dword [0x588034]
cmp eax, dword [edi + 0x18]
jle 0x43a74c
push 0x588034
call fcn.004ca983
add esp, 4
cmp dword [0x588034], 0xffffffff
jne 0x43a74c
mov ecx, 0x585fc8
mov dword [0x57c824], 0x547cb8
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43a720
sub ecx, edx
mov dword [0x57c82c], 0xd
sar ecx, 1
push 0x588034
mov dword [0x57c828], ecx
call fcn.004ca939
add esp, 4
mov dword [esi*4 + 0x585fb8], 0x57c820
inc esi
push 0x588030
mov dword [esi*4 + 0x585fb8], 0
mov dword [0x58802c], 0x585fb8
call fcn.004ca939
add esp, 4
mov esi, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x40], esi
mov eax, dword [0x58802c]
mov dword [ebp - 0x3c], ecx
lea eax, [eax + ecx*4]
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
test eax, eax
je 0x43a935
xor ecx, ecx
nop dword [eax]
mov edi, dword [eax]
lea edx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x43a7a5
sub edi, edx
lea edx, [ebp - 0x34]
sar edi, 1
cmp dword [ebp - 0x20], 8
cmovae edx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
cmp edi, esi
ja 0x43a92c
mov eax, esi
sub eax, edi
cmp ecx, eax
ja 0x43a92c
test edi, edi
jne 0x43a7de
mov esi, ecx
jmp 0x43a856
inc eax
lea esi, [edx + ecx*2]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x4c], eax
mov ecx, dword [edx]
mov eax, dword [ecx]
movzx edx, word [eax]
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x4c]
mov eax, 0
sub ecx, esi
mov dword [ebp - 0x50], eax
sar ecx, 1
je 0x43a829
movzx eax, word [esi]
cmp ax, dx
je 0x43a822
nop
cmp ecx, 1
je 0x43a826
movzx eax, word [esi + 2]
add esi, 2
dec ecx
cmp ax, dx
jne 0x43a810
mov eax, esi
jmp 0x43a829
mov eax, dword [ebp - 0x50]
mov esi, eax
test esi, esi
je 0x43a929
mov edx, dword [ebp - 0x38]
push edi
mov ecx, dword [edx]
mov edx, dword [ecx]
mov ecx, esi
call fcn.0041ba80
add esp, 4
test eax, eax
je 0x43a851
mov edx, dword [ebp - 0x54]
add esi, 2
jmp 0x43a7f5
sub esi, dword [ebp - 0x48]
sar esi, 1
cmp esi, 0xffffffff
je 0x43a929
mov ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x40]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
cmp edi, esi
jb 0x43a993
mov eax, edi
sub eax, esi
cmp eax, edx
cmovb edx, eax
cmp dword [ebp - 0x20], 8
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
sub edi, edx
mov dword [ebp - 0x24], edi
sub edi, esi
lea ecx, [eax + esi*2]
lea eax, [edi*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.004e28e0
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov eax, dword [eax]
mov edx, dword [eax + 4]
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43a8b2
sub ecx, edi
sar ecx, 1
push ecx
push edx
push esi
lea ecx, [ebp - 0x34]
call fcn.0041cfd0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x58802c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
add ecx, esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x40], esi
jmp 0x43a7a0
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
inc ecx
jmp 0x43a782
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x34]
movups xmm0, xmmword [ebp - 0x34]
xor eax, eax
mov word [ebp - 0x34], ax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
call fcn.0041b400
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004ca771
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0041bc20
int3