Function at 0x433110
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x533576
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x579258]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
push 8
mov dword [ebp - 0x264], esi
call fcn.00432450
add esp, 4
mov edi, eax
xor eax, eax
mov dword [ebp - 0x264], edi
push eax
push 0x53e9d0
test edi, edi
jne 0x43317d
mov dword [esi + 0x10], eax
mov ecx, esi
mov dword [esi + 0x14], 7
mov word [esi], ax
call fcn.00416d70
jmp 0x433412
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.00416d70
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004ecad0
add esp, 0xc
mov dword [ebp - 0x26c], 0x104
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
call dword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
je 0x4333c8
xor eax, eax
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433210
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.00416d70
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 1
test edx, edx
jne 0x433257
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x260]
call fcn.004198f0
jmp 0x43332c
or edi, 0xffffffff
xor ecx, ecx
test edx, edx
je 0x433284
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
cmp word [eax + ecx*2], 0x20
ja 0x433282
inc ecx
cmp ecx, edx
jb 0x433260
jmp 0x433284
mov edi, ecx
lea ecx, [edx - 1]
test ecx, ecx
js 0x4332be
nop dword [eax + eax]
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
cmp word [eax + ecx*2], 0x20
ja 0x4332ba
sub ecx, 1
jns 0x433290
xor eax, eax
cmp edi, 0xffffffff
cmove edi, eax
jmp 0x4332ce
mov eax, ecx
jmp 0x4332c1
or eax, 0xffffffff
xor ecx, ecx
cmp edi, 0xffffffff
cmove edi, ecx
cmp eax, 0xffffffff
jne 0x4332d1
lea eax, [edx - 1]
xor ecx, ecx
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], cx
cmp edx, edi
jb 0x43342f
sub eax, edi
sub edx, edi
lea ecx, [eax + 1]
cmp edx, ecx
lea eax, [ebp - 0x230]
cmovb ecx, edx
cmp dword [ebp - 0x21c], 8
push ecx
cmovae eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x260]
lea eax, [eax + edi*2]
push eax
call fcn.00416d70
mov edi, dword [ebp - 0x264]
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x43336c
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x433362
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433434
push edx
push ecx
call fcn.00460404
add esp, 8
movups xmm0, xmmword [ebp - 0x260]
mov edx, dword [ebp - 0x21c]
movups xmmword [ebp - 0x27c], xmm0
movq xmm0, qword [ebp - 0x250]
movq qword [ebp - 0x268], xmm0
cmp edx, 8
jb 0x4333e6
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4333bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433434
push edx
push ecx
call fcn.00460404
add esp, 8
jmp 0x4333e6
movq xmm0, qword [ebp - 0x238]
movq qword [ebp - 0x268], xmm0
movups xmm0, xmmword [ebp - 0x248]
movups xmmword [ebp - 0x27c], xmm0
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movups xmm0, xmmword [ebp - 0x27c]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x268]
movq qword [esi + 0x10], xmm0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00460412
mov esp, ebp
pop ebp
ret
call fcn.00403540
call fcn.004f5b2a
int3