Function at 0x413f59
Capabilities:
Get common file path

Disassembly:
mov eax, 0x41b693
call fcn.00403df8
sub esp, 0x14c
xor dl, dl
push ebx
push esi
push edi
mov edi, ecx
call fcn.0041704f
xor ebx, ebx
inc ebx
test al, al
jne 0x413fd3
mov dl, bl
mov ecx, edi
call fcn.0041704f
test al, al
jne 0x413fd3
mov eax, dword [0x624c4c]
test eax, eax
je 0x413f96
call eax
jmp 0x413fc1
cmp dword [0x6243c8], 0
je 0x413fbe
push 0x18
pop eax
call fcn.0040171b
push esp
push 0x61fb2c
call fcn.0040f024
push eax
call dword [0x6243c8]
add esp, 0xc
jmp 0x413fd3
or eax, 0xffffffff
cmp eax, 2
je 0x4141ff
cmp eax, 3
je 0x4141ff
mov eax, dword [0x624df4]
test eax, eax
je 0x413fe1
push edi
call eax
jmp 0x41400b
cmp dword [0x6243c8], 0
je 0x414009
push 0x14
pop eax
call fcn.0040171b
push esp
push 0x61fb44
call fcn.0040f024
push eax
call dword [0x6243c8]
add esp, 0xc
jmp 0x414013
xor eax, eax
test eax, eax
jne 0x4141ff
xor ecx, ecx
push 0xf
pop eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x24], cl
mov dword [ebp - 4], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
mov byte [ebp - 0x3c], cl
mov byte [ebp - 4], bl
lea eax, [ebp - 0x158]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x41407c
cmp byte [ebp - 0x158], 0
jne 0x41405f
xor eax, eax
jmp 0x41406c
lea eax, [ebp - 0x158]
push eax
call fcn.00401566
pop ecx
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x24]
call fcn.00404934
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4140be
cmp dword [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x24]
jae 0x41408f
lea ecx, [ebp - 0x24]
cmp byte [ecx + eax - 1], 0x5c
jne 0x4140be
dec eax
push eax
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x24]
call fcn.00410d2c
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x24]
call fcn.00410cc5
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x54]
call fcn.004047bf
cmp dword [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x24]
jae 0x4140ca
lea ecx, [ebp - 0x24]
mov dl, bl
call fcn.0041704f
test al, al
je 0x414161
call fcn.00401bc6
mov esi, eax
shl esi, 0xf
call fcn.00401bc6
or eax, esi
push eax
lea eax, [ebp - 0x54]
push 0x61fb58
push eax
call fcn.004120e0
add esp, 0xc
mov byte [ebp - 4], 3
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x24]
call fcn.004059d9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x54]
call fcn.004047bf
mov eax, dword [0x625168]
test eax, eax
je 0x41413b
cmp dword [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x24]
jae 0x41412d
lea ecx, [ebp - 0x24]
push ebx
push ecx
push edi
call eax
mov ecx, eax
mov eax, dword [0x625168]
jmp 0x414175
cmp dword [0x6243c8], 0
je 0x414173
push 0x14
pop eax
call fcn.0040171b
push esp
push 0x61fb64
call fcn.0040f024
push eax
call dword [0x6243c8]
add esp, 0xc
mov eax, dword [0x625168]
test eax, eax
je 0x4141ba
push 4
push 0
push edi
call eax
jmp 0x4141e2
xor ecx, ecx
test ecx, ecx
je 0x414166
test eax, eax
je 0x414192
cmp dword [ebp - 0x10], 0x10
mov ecx, dword [ebp - 0x24]
jae 0x414189
lea ecx, [ebp - 0x24]
push 4
push 0
push ecx
call eax
jmp 0x4141e7
cmp dword [0x6243c8], 0
je 0x4141e7
push 0x14
pop eax
call fcn.0040171b
push esp
push 0x61fb64
call fcn.0040f024
push eax
call dword [0x6243c8]
add esp, 0xc
jmp 0x4141e7
cmp dword [0x6243c8], 0
je 0x4141e0
push 0x14
pop eax
call fcn.0040171b
push esp
push 0x61fb64
call fcn.0040f024
push eax
call dword [0x6243c8]
add esp, 0xc
xor eax, eax
test eax, eax
setne bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.004047bf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004047bf
mov al, bl
lea esp, [ebp - 0x164]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret