Function at 0x433030
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x533dba
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x57b270]
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.00432370
add esp, 4
mov edi, eax
xor eax, eax
mov dword [ebp - 0x264], edi
push eax
push 0x53f9e0
test edi, edi
jne 0x43309d
mov dword [esi + 0x10], eax
mov ecx, esi
mov dword [esi + 0x14], 7
mov word [esi], ax
call fcn.00416d80
jmp 0x433332
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.00416d80
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004ed350
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 0x4332e8
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 0x433130
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.00416d80
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 1
test edx, edx
jne 0x433177
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x260]
call fcn.004196c0
jmp 0x43324c
or edi, 0xffffffff
xor ecx, ecx
test edx, edx
je 0x4331a4
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
cmp word [eax + ecx*2], 0x20
ja 0x4331a2
inc ecx
cmp ecx, edx
jb 0x433180
jmp 0x4331a4
mov edi, ecx
lea ecx, [edx - 1]
test ecx, ecx
js 0x4331de
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 0x4331da
sub ecx, 1
jns 0x4331b0
xor eax, eax
cmp edi, 0xffffffff
cmove edi, eax
jmp 0x4331ee
mov eax, ecx
jmp 0x4331e1
or eax, 0xffffffff
xor ecx, ecx
cmp edi, 0xffffffff
cmove edi, ecx
cmp eax, 0xffffffff
jne 0x4331f1
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 0x43334f
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.00416d80
mov edi, dword [ebp - 0x264]
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x43328c
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x433282
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433354
push edx
push ecx
call fcn.00460b61
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 0x433306
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4332dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433354
push edx
push ecx
call fcn.00460b61
add esp, 8
jmp 0x433306
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.00460b6f
mov esp, ebp
pop ebp
ret
call fcn.00403550
call fcn.004f639a
int3