Function at 0x43b0c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x290
mov eax, dword [0x526014]
xor eax, ebp
mov dword [esp + 0x288], eax
lea ebx, [esp + 0x80]
push 0x208
push 0xff
push ebx
call fcn.00497b10
add esp, 0xc
mov eax, dword [0x52b0b0]
mov ecx, dword [0x52a234]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x43b147
push 0x52b0b0
call fcn.00493de7
add esp, 4
cmp dword [0x52b0b0], 0xffffffff
jne 0x43b147
mov byte [0x52b0af], 0
mov word [0x52b0a4], 0
push 0x52b0b0
call fcn.00493e5d
add esp, 4
movzx eax, byte [0x52b0af]
test al, al
jns 0x43b157
mov eax, dword [0x52b0a8]
test eax, eax
jne 0x43b178
xor eax, eax
mov ecx, 0x52b0a4
push eax
push 0x50dd8e
push 0xffffffffffffffff
push eax
call fcn.00444d40
test eax, eax
je 0x43b271
mov eax, dword [0x52b0b0]
mov ecx, dword [0x52a234]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jle 0x43b1c8
push 0x52b0b0
call fcn.00493de7
add esp, 4
cmp dword [0x52b0b0], 0xffffffff
jne 0x43b1c8
mov byte [0x52b0af], 0
mov word [0x52b0a4], 0
push 0x52b0b0
call fcn.00493e5d
add esp, 4
mov eax, 0x52b0a4
cmp byte [0x52b0af], 0
jns 0x43b1db
mov eax, dword [0x52b0a4]
push 0x104
push eax
push ebx
call fcn.004ada7a
add esp, 0xc
xor eax, eax
dec eax
lea esi, [esp + 0xc]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
push ebx
call fcn.004ad646
add esp, 4
lea edi, [esp + 0x18]
mov ecx, edi
push eax
push ebx
call fcn.0046f130
mov ecx, edi
push 6
push 0x50f2a0
push esi
call fcn.0046ff40
mov ecx, edi
call fcn.0046f270
cmp byte [ebp + 0xc], 0
je 0x43b23c
push esi
call fcn.00446480
add esp, 4
test al, al
je 0x43b2ed
lea ecx, [esp + 0xc]
push 2
push 0x50f2c8
mov esi, dword [ebp + 8]
push esi
call fcn.0046ff40
lea ecx, [esp + 0xc]
call fcn.0046f270
mov ecx, dword [esp + 0x288]
xor ecx, ebp
call fcn.004948c8
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [ebp + 0xc]
push eax
push 0x1a
push ebx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x43b1ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esp + 0x74]
push eax
push esi
call fcn.004c2100
add esp, 8
lea edi, [esp + 0x18]
mov ecx, edi
push esi
push 0x44
push str.GetUserIdFilePath
push 1
call fcn.004c1f00
lea ecx, [esp + 0x54]
push 0x50f29f
push str.Cant_get_path_to_AppData_folder
call fcn.004be8c0
mov ecx, edi
call fcn.004c1f40
cmp byte [esi + 0xb], 0
jns 0x43b2de
push dword [esp + 0x74]
call fcn.00493d6d
add esp, 4
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.0046f0d0
jmp 0x43b259
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, esp
push eax
push edi
call fcn.004c2100
add esp, 8
lea ecx, [esp + 0x18]
push edi
push 0x4b
push str.GetUserIdFilePath
push 1
call fcn.004c1f00
lea edi, [esp + 0x54]
mov ecx, edi
push 0x50f2c6
push str.Cant_create_directory:
call fcn.004be8c0
movzx eax, byte [esp + 0x17]
test al, al
jns 0x43b338
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
lea ebx, [esp + 0x74]
push eax
push esi
push ebx
call fcn.00473260
add esp, 0xc
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x43b357
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ecx, edi
push eax
push ebx
call fcn.0046d820
cmp byte [esp + 0x7f], 0
mov esi, dword [ebp + 8]
jns 0x43b376
push dword [esp + 0x74]
call fcn.00493d6d
add esp, 4
lea ecx, [esp + 0x18]
call fcn.004c1f40
cmp byte [esp + 0xb], 0
jns 0x43b391
push dword [esp]
call fcn.00493d6d
add esp, 4
mov ecx, esi
call fcn.0046f0d0
jmp 0x43b250