Function at 0x404357
Capabilities:
Get common file path

Disassembly:
push 0x280
mov eax, 0x58af0f
call fcn.0055f097
lea ecx, [ebp - 0x279]
call fcn.004025c0
xor ebx, ebx
lea ecx, [ebp - 0x279]
mov dword [ebp - 4], ebx
call fcn.004028c7
push 0x58f4c4
push str.eb175
lea eax, [ebp - 0x278]
push str.BKSetting
push eax
call fcn.00403107
mov ecx, eax
call fcn.0040af8e
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], ebx
push 0x58fcc4
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.00401302
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0040edbf
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x248]
call fcn.004014e8
mov esi, dword [ebp - 0x288]
mov ebx, dword [ebp - 0x284]
jmp 0x4046a0
and dword [ebp - 0x238], 0
lea ecx, [ebp - 0x248]
and dword [ebp - 0x234], 0
push esi
call fcn.00401cdd
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 4
push 0
push eax
call fcn.00561510
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0x10
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x404568
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00401302
push 0x58f93c
mov byte [ebp - 4], 5
call fcn.00564b19
pop ecx
push eax
push 0x58f93c
lea ecx, [ebp - 0x230]
call fcn.0040255e
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
push dword [ebp - 0x238]
cmovae eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x230]
push eax
call fcn.0040255e
push 0x58f940
call fcn.00564b19
pop ecx
push eax
push 0x58f940
lea ecx, [ebp - 0x230]
call fcn.0040255e
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.0040954c
pop ecx
test al, al
je 0x404559
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00412082
pop ecx
pop ecx
push 0
push str.BKPDF
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 6
call fcn.00404fbd
cmp eax, 0xffffffff
je 0x40454e
sub esp, 0x18
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00401cdd
lea ecx, [ebp - 0x279]
call fcn.00402bc3
lea ecx, [ebp - 0x260]
call fcn.004014e8
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 4
call fcn.004014e8
push 0
push 0x19
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40468e
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00401302
push 0x58f93c
mov byte [ebp - 4], 7
call fcn.00564b19
pop ecx
push eax
push 0x58f93c
lea ecx, [ebp - 0x230]
call fcn.0040255e
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
push dword [ebp - 0x238]
cmovae eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x230]
push eax
call fcn.0040255e
push 0x58f940
call fcn.00564b19
pop ecx
push eax
push 0x58f940
lea ecx, [ebp - 0x230]
call fcn.0040255e
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.0040954c
pop ecx
test al, al
je 0x404683
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00412082
pop ecx
pop ecx
push 0
push str.BKPDF
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 8
call fcn.00404fbd
cmp eax, 0xffffffff
je 0x404678
sub esp, 0x18
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00401cdd
lea ecx, [ebp - 0x279]
call fcn.00402bc3
lea ecx, [ebp - 0x260]
call fcn.004014e8
lea ecx, [ebp - 0x230]
call fcn.004014e8
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.004014e8
add esi, 0x18
cmp esi, ebx
jne 0x40440a
lea ecx, [ebp - 0x288]
call fcn.00404f3f
lea ecx, [ebp - 0x278]
call fcn.004014e8
lea ecx, [ebp - 0x279]
call fcn.004013d0
call fcn.0055f052
ret