Function at 0x40f8d6
Capabilities:
Get common file path

Disassembly:
push 0x33c
mov eax, 0x43bc46
call fcn.0042408c
mov edi, ecx
xor ebx, ebx
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x338], ebx
call fcn.0041d7da
and dword [ebp - 4], ebx
sub esp, 0x18
lea eax, [edi + 0x3f4]
mov ecx, esp
push eax
call fcn.00403430
call fcn.0041c2a8
add esp, 0x18
mov ecx, edi
call fcn.0040fcee
test al, al
je 0x40fcd9
call fcn.004198f7
push eax
lea ecx, [ebp - 0x230]
call fcn.0040f20d
mov esi, dword [ebp - 0x220]
push 0x43e2f0
mov byte [ebp - 4], 1
call fcn.00423fa4
pop ecx
push eax
push esi
push 0x43e2f0
lea ecx, [ebp - 0x230]
call fcn.00411a83
push esi
inc eax
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x230]
call fcn.0041208d
push eax
lea ecx, [ebp - 0x230]
call fcn.0040f87c
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x290]
call fcn.0041157d
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x338]
push eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x338], 0x2e
call fcn.00411f90
push eax
push esi
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x230]
call fcn.0041208d
push eax
lea ecx, [ebp - 0x230]
call fcn.0040f87c
push esi
push 1
lea ecx, [ebp - 0x260]
call fcn.0041157d
mov dword [ebp - 0x348], esi
mov dword [ebp - 0x344], esi
mov dword [ebp - 0x340], esi
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x33c], esp
push 0x43e41c
mov byte [ebp - 4], 2
call fcn.0040f20d
sub esp, 0x18
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
mov byte [ebp - 4], 3
call fcn.0040f1ba
lea eax, [ebp - 0x23c]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00411061
push eax
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 4
call fcn.0040f8a1
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 2
call fcn.0041162b
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x348]
sub eax, ecx
push 0x18
cdq
pop esi
idiv esi
cmp eax, 3
jb 0x40fa78
lea eax, [ecx + 0x30]
cmp edi, eax
je 0x40fa78
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
call fcn.0041179a
push 0x43e420
lea esi, [edi + 0x2a4]
call fcn.004238d0
pop ecx
push eax
push 0x43e420
push dword [esi + 0x10]
mov ecx, esi
push 0
call fcn.00404930
test eax, eax
jne 0x40fcb1
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.00424520
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
and dword [ebp - 0x238], 0
xor eax, eax
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
cmp word [ebp - 0x218], ax
je 0x40fb01
lea eax, [ebp - 0x218]
push eax
call fcn.00423fa4
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00411854
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x334]
lea esi, [edi + 0x2bc]
push eax
mov ecx, esi
mov byte [ebp - 4], 5
mov byte [ebp - 0x334], 0x2f
call fcn.00411f17
push 0xffffffffffffffff
inc eax
push eax
lea eax, [ebp - 0x278]
push eax
mov ecx, esi
call fcn.0041205f
cmp dword [ebp - 0x264], 0x10
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push eax
lea eax, [ebp - 0x260]
push eax
mov byte [ebp - 4], 6
call fcn.00419eaa
pop ecx
pop ecx
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 7
call fcn.00411651
push 0x44
call fcn.00421977
pop ecx
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x40fc08
cmp dword [esi + 0x14], 0x10
jb 0x40fba8
mov esi, dword [esi]
lea eax, [ebp - 0x2a8]
push esi
push eax
call fcn.00419eaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 9
mov dword [ebp - 0x338], 1
jb 0x40fbcd
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x290]
call fcn.0040f20d
mov ecx, dword [ebp - 0x33c]
push 3
pop ebx
push 0
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x248]
push eax
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x338], ebx
call fcn.00417250
mov esi, eax
jmp 0x40fc0a
xor esi, esi
test bl, 2
je 0x40fc21
push 0
push 1
lea ecx, [ebp - 0x290]
and ebx, 0xfffffffd
call fcn.0041157d
mov dword [ebp - 4], 7
test bl, 1
je 0x40fc3c
push 0
push 1
lea ecx, [ebp - 0x2a8]
call fcn.0041157d
mov ecx, esi
mov byte [esi + 0xd], 1
call fcn.0041104d
push 0xffffffffffffffff
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x33c], esp
push edi
call fcn.0040f1ba
sub esp, 0x18
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
mov byte [ebp - 4], 0xd
call fcn.0040f1ba
mov byte [ebp - 4], 7
call fcn.0041a535
add esp, 0x30
lea ecx, [ebp - 0x260]
push 0
push 1
call fcn.0041157d
lea ecx, [ebp - 0x278]
call fcn.00403560
push 0
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 2
call fcn.0041157d
mov ecx, edi
call fcn.004109ed
mov ecx, edi
call fcn.004105c9
lea ecx, [ebp - 0x348]
call fcn.0041162b
push 0
push 1
lea ecx, [ebp - 0x230]
call fcn.0041157d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x330]
call fcn.0041d7ee
call fcn.0042403b
ret