Function at 0x407de3
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
and dword [ebp - 4], 0
and dword [ebp - 0xc], 0
push ebx
push esi
push edi
mov esi, eax
mov edi, ecx
call fcn.00406cb4
movzx ebx, al
mov dword [ebp - 0x10], ebx
call fcn.00406dda
test al, al
je 0x407e42
call fcn.00406d66
test al, al
je 0x407e42
call fcn.0040717c
test al, al
je 0x407e42
call fcn.004070e4
test al, al
je 0x407e42
call fcn.0040714b
test al, al
je 0x407e42
call fcn.00407076
test al, al
je 0x407e42
and dword [ebp - 8], 0
jmp 0x407e49
mov dword [ebp - 8], 1
cmp dword [0x439660], 0
je 0x407f7e
test ebx, ebx
jne 0x407f7e
push 0x103
lea eax, [ebp - 0x157]
push ebx
push eax
mov byte [ebp - 0x158], bl
call fcn.00416e30
add esp, 0xc
lea eax, [ebp - 0x158]
push eax
mov ebx, 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x43d0c8
lea eax, [ebp - 0x158]
push eax
push 0x43cfdc
lea eax, [ebp - 0x260]
push ebx
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
add esp, 0x14
push 0x4077b7
push edi
lea eax, [ebp - 0x260]
push eax
push 0x43d0d8
call fcn.00406495
xor ecx, ecx
add esp, 0x10
test al, al
sete cl
xor ebx, ebx
mov dword [ebp - 4], ecx
cmp ecx, ebx
je 0x407f01
mov eax, dword [esi]
push 0x43d0fc
push dword [eax*4 + 0x4394bc]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
inc dword [esi]
jmp 0x407f7e
inc dword [esi]
mov eax, dword [esi]
push 0x43d120
push dword [eax*4 + 0x4394bc]
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push ebx
push edi
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
inc dword [esi]
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x4c]
push ebx
push eax
call fcn.00416e30
lea eax, [ebp - 0x260]
mov dword [ebp - 0x3c], eax
add esp, 0xc
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x38], 0x43cc00
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], 0x43ca40
mov dword [ebp - 0x48], 0x440
mov dword [ebp - 0x30], 9
call dword [0x4394f0]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
mov dword [ecx], eax
xor eax, eax
cmp dword [ebp - 8], eax
je 0x408012
call fcn.00406d66
test al, al
mov eax, dword [0x439548]
mov ebx, dword [eax + 0x64]
je 0x40800d
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0x14
push 8
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x43d140
mov edi, eax
push 0x14
push edi
call fcn.00416f6e
add esp, 0xc
call fcn.00406dda
test al, al
jne 0x407fca
mov byte [edi + 0xa], 0x31
call fcn.00407076
test al, al
jne 0x407fd7
mov byte [edi + 0xb], 0x31
call fcn.004070e4
test al, al
jne 0x407fe4
mov byte [edi + 0xc], 0x31
call fcn.0040717c
test al, al
jne 0x407ff1
mov byte [edi + 0xd], 0x31
call fcn.0040714b
test al, al
jne 0x407ffe
mov byte [edi + 0xe], 0x31
call fcn.00406ede
test al, al
je 0x408074
mov byte [edi + 0xf], 0x31
jmp 0x408074
mov edi, dword [eax + 0x10]
jmp 0x408074
cmp dword [ebp - 0x10], eax
je 0x408024
mov eax, dword [0x439548]
mov ebx, dword [eax + 0x68]
mov edi, dword [eax + 4]
jmp 0x408074
cmp dword [0x439660], eax
jne 0x408039
mov eax, dword [0x439548]
mov ebx, dword [eax + 0x78]
mov edi, dword [eax + 0x14]
jmp 0x408074
cmp dword [ebp - 4], eax
je 0x408048
mov eax, dword [0x439548]
mov edi, dword [eax + 8]
jmp 0x408071
cmp dword [ebp - 0xc], 0x20
jle 0x408069
call fcn.00406ede
test al, al
mov eax, dword [0x439548]
jne 0x408064
mov ebx, dword [eax + 0x70]
mov edi, dword [eax + 0x1c]
jmp 0x408074
mov edi, dword [eax + 0x20]
jmp 0x408071
mov eax, dword [0x439548]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x74]
mov esi, 0x88
push esi
push dword [0x439544]
call fcn.00401041
test eax, eax
je 0x4080c6
mov eax, dword [0x439548]
push dword [eax + 0x78]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4080b7
push esi
mov esi, dword [0x439544]
call fcn.004010df
test al, al
je 0x4080b7
mov eax, dword [0x439548]
mov ebx, dword [eax + 0x6c]
mov edi, dword [eax + 0x18]
push edi
push ebx
push 0x88
call fcn.00406311
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret