Function at 0x583330
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7bb08f
mov eax, dword fs:[0]
push eax
sub esp, 0x458
mov eax, dword [0x89b044]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x228]
call fcn.00405e90
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405e90
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x454]
add ecx, 0x6c
call fcn.00403b90
movzx eax, al
test eax, eax
jne 0x583408
mov ecx, dword [ebp - 0x454]
add ecx, 0x6c
push ecx
lea ecx, [ebp - 0x228]
call fcn.00403670
mov edx, dword [ebp - 0x454]
add edx, 0x6c
push edx
lea eax, [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x454]
call fcn.005843b0
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x45c], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x45c]
push edx
lea ecx, [ebp - 0x438]
call fcn.00403670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x43c]
call fcn.00405ef0
jmp 0x583485
mov ecx, dword [ebp - 0x454]
add ecx, 0x20
call fcn.00403b90
movzx eax, al
test eax, eax
jne 0x583485
mov ecx, dword [ebp - 0x454]
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x228]
call fcn.00403670
mov edx, dword [ebp - 0x454]
add edx, 0x20
push edx
lea eax, [ebp - 0x440]
push eax
mov ecx, dword [ebp - 0x454]
call fcn.005843b0
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
mov dword [ebp - 0x464], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x464]
push edx
lea ecx, [ebp - 0x438]
call fcn.00403670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x440]
call fcn.00405ef0
lea ecx, [ebp - 0x438]
call fcn.00403b90
movzx eax, al
test eax, eax
je 0x5834bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
jmp 0x5836ed
push 0x208
push 0
lea ecx, [ebp - 0x434]
push ecx
call fcn.007202b0
add esp, 0xc
mov dword [ebp - 0x18], 0x104
lea edx, [ebp - 0x434]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jbe 0x5834fd
cmp dword [ebp - 0x14], 0x104
jb 0x583523
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
jmp 0x5836ed
push str.LudashiDL
lea ecx, [ebp - 0x434]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x208
push 0
lea edx, [ebp - 0x224]
push edx
call fcn.007202b0
add esp, 0xc
lea ecx, [ebp - 0x438]
call fcn.00405e80
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x448]
call fcn.004068d0
mov byte [ebp - 4], 4
lea eax, [ebp - 0x448]
push eax
mov ecx, dword [ebp - 0x454]
call fcn.00584560
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x441], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x448]
call fcn.00405ef0
movzx ecx, byte [ebp - 0x441]
test ecx, ecx
je 0x583670
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x450]
call fcn.004068d0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x228]
push ecx
mov ecx, dword [ebp - 0x454]
call fcn.005842a0
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x449], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x450]
call fcn.00405ef0
movzx edx, byte [ebp - 0x449]
test edx, edx
je 0x58363a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
jmp 0x5836ed
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x454]
call fcn.00583100
test eax, eax
je 0x58366e
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
jmp 0x5836ed
jmp 0x583685
lea eax, [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x454]
add ecx, 0x70
call fcn.00406890
mov ecx, dword [ebp - 0x454]
add ecx, 0x70
call fcn.00403b90
movzx ecx, al
test ecx, ecx
je 0x5836bd
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
jmp 0x5836ed
mov dword [ebp - 0x10], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x438]
call fcn.00405ef0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.00405ef0
xor edx, edx
jne 0x583368
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0071fe0b
mov esp, ebp
pop ebp
ret