Function at 0x10138050
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1014d246
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x101b32cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x6c], 0x1019b104
mov dword [ebp - 0x70], str.TEMP
mov dword [ebp - 0x74], str.LOCALAPPDATA
mov dword [ebp - 0x78], str.USERPROFILE
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x40]
call fcn.1004bdf0
mov dword [ebp - 4], 0
mov dword [ebp - 0x60], 0
jmp 0x101380de
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
cmp dword [ebp + edx*4 - 0x24], 0
je 0x101381c0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp + eax*4 - 0x24]
push ecx
lea edx, [ebp - 0x5c]
push edx
call fcn.1013e270
add esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.1008df00
movzx eax, al
test eax, eax
jne 0x101381af
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1013c7b0
cmp dword [ebp - 0x60], 2
jl 0x10138136
push 0x1019b29c
lea ecx, [ebp - 0x40]
call fcn.10131470
lea ecx, [ebp - 0x9c]
call fcn.1004cc20
lea edx, [ebp - 0x9c]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.1013d830
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x101381a7
lea ecx, [ebp - 0x9c]
call fcn.1013c940
movzx edx, al
test edx, edx
jne 0x101381a7
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x40]
push ecx
call fcn.1013daf0
add esp, 8
movzx edx, al
test edx, edx
je 0x101381a7
lea ecx, [ebp - 0x9c]
call fcn.1013c940
movzx eax, al
test eax, eax
jne 0x101381a7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.100055c0
jmp 0x101381c0
lea ecx, [ebp - 0x40]
call fcn.1004d270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.100055c0
jmp 0x101380d5
lea ecx, [ebp - 0x40]
call fcn.10135520
movzx ecx, al
test ecx, ecx
je 0x101382d6
lea ecx, [ebp - 0x65]
call fcn.10004b00
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push eax
lea ecx, [ebp - 0x90]
call fcn.1013bbe0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x90]
call fcn.1013d750
movzx edx, al
test edx, edx
jne 0x1013822c
lea ecx, [ebp - 0x90]
call fcn.1013df70
push eax
push 0
lea ecx, [ebp - 0x90]
call fcn.1013c880
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x1013827b
push str.boost::filesystem::temp_directory_path
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.10139ce0
add esp, 0xc
mov ecx, dword [ebp + 8]
call fcn.1004bdf0
mov ecx, dword [ebp - 0x64]
or ecx, 1
mov dword [ebp - 0x64], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.1013c580
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.1004cdf0
mov eax, dword [ebp + 8]
jmp 0x101382fd
lea edx, [ebp - 0xa8]
push edx
lea ecx, [ebp - 0x90]
call fcn.1013d450
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x80]
call fcn.1013cae0
push eax
lea ecx, [ebp - 0x40]
call fcn.1013c7d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.1013c500
push str.Temp
lea ecx, [ebp - 0x40]
call fcn.10131470
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x90]
call fcn.1013c580
lea ecx, [ebp - 0x40]
push ecx
mov ecx, dword [ebp + 8]
call fcn.1004cce0
mov edx, dword [ebp - 0x64]
or edx, 1
mov dword [ebp - 0x64], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.1004cdf0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10097dc0
mov esp, ebp
pop ebp
ret