Function at 0x4313b9
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x4530d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp + 0x18]
push edi
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 0x1c]
push 0x208
mov dword [ebp - 0x238], eax
xor edi, edi
lea eax, [ebp - 0x20c]
push edi
push eax
call fcn.004272a0
or dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x22c], edi
xor eax, eax
lea edi, [ebp - 0x21c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor edi, edi
add esp, 0xc
mov dword [ebp - 0x224], edi
cmp esi, edi
je 0x43144b
cmp word [esi], di
je 0x43144b
lea eax, [ebp - 0x220]
push eax
push ebx
push esi
jmp 0x4314a4
lea eax, [ebp - 0x20c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x431495
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jle 0x431475
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, edi
jl 0x431480
mov esi, 0x80004005
push esi
push 0x26a
push str.pathutil.cpp
call fcn.0043166e
jmp 0x431622
lea eax, [ebp - 0x220]
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
call fcn.00431352
mov esi, eax
cmp esi, edi
jl 0x431622
lea eax, [ebp - 0x22c]
push eax
push dword [ebp - 0x220]
call fcn.00430c8e
test eax, eax
jne 0x4314df
push edi
push dword [ebp - 0x22c]
call fcn.004358e5
mov esi, eax
cmp esi, edi
jl 0x431622
cmp dword [ebp - 0x230], edi
jne 0x4314f1
mov dword [ebp - 0x230], 0x4395e8
lea eax, [ebp - 0x21c]
push eax
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp - 0x23c]
push 0x2e
pop ecx
cmp cx, word [eax]
mov ecx, 0x4395e8
je 0x431518
mov ecx, 0x44f904
push eax
movzx eax, word [ebp - 0x210]
push ecx
push dword [ebp - 0x230]
push eax
movzx eax, word [ebp - 0x212]
push eax
movzx eax, word [ebp - 0x214]
push eax
movzx eax, word [ebp - 0x216]
push eax
movzx eax, word [ebp - 0x21a]
push eax
movzx eax, word [ebp - 0x21c]
push eax
push dword [ebp - 0x220]
lea eax, [ebp - 0x224]
push 0x44f8b8
push eax
call fcn.00430aad
mov esi, eax
add esp, 0x30
cmp esi, edi
jl 0x43160d
push edi
push 0x80
push 1
push edi
push 1
push 0x40000000
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x228], eax
cmp eax, 0xffffffff
jne 0x4315d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x4315ab
cmp eax, 5
jne 0x4315b8
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
xor eax, eax
inc ebx
cmp eax, edi
jle 0x4315c6
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
cmp esi, edi
jl 0x431622
cmp ebx, edi
jne 0x4314f1
cmp dword [ebp - 0x234], edi
je 0x4315f4
push edi
push dword [ebp - 0x224]
push dword [ebp - 0x234]
call fcn.004304a4
mov esi, eax
cmp esi, edi
jl 0x43160d
mov eax, dword [ebp - 0x238]
cmp eax, edi
je 0x43160d
mov ecx, dword [ebp - 0x228]
or dword [ebp - 0x228], 0xffffffff
mov dword [eax], ecx
cmp dword [ebp - 0x228], 0xffffffff
je 0x431622
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x224], edi
je 0x431635
push dword [ebp - 0x224]
call fcn.0042f657
cmp dword [ebp - 0x22c], edi
je 0x431648
push dword [ebp - 0x22c]
call fcn.0042f657
cmp dword [ebp - 0x220], edi
je 0x43165b
push dword [ebp - 0x220]
call fcn.0042f657
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042731a
leave
ret 0x18