Function at 0x407b43
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x2e4
push ebx
push esi
push edi
xor edi, edi
mov esi, eax
mov dword [ebp + 0x68], edi
xor bl, bl
call fcn.0040f337
mov byte [ebp + 0x6f], al
call fcn.0040ecf6
mov byte [ebp + 0x6e], al
cmp byte [0x4395be], bl
je 0x407d23
cmp byte [ebp + 0x6f], bl
jne 0x407d2d
test al, al
je 0x407c5d
mov byte [ebp - 0x274], bl
mov ebx, 0x103
push ebx
lea eax, [ebp - 0x273]
push edi
push eax
call fcn.00416e30
push ebx
lea eax, [ebp - 0x16f]
push edi
push eax
mov byte [ebp - 0x170], 0
call fcn.00416e30
add esp, 0x18
lea eax, [ebp - 0x274]
push eax
inc ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x43ce14
lea eax, [ebp - 0x274]
push eax
push 0x43cfdc
lea eax, [ebp - 0x170]
push ebx
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfA]
mov edi, 0x407839
push edi
push dword [ebp + 0x78]
lea eax, [ebp - 0x170]
push eax
push 0x43cfe8
call fcn.00406495
add esp, 0x24
mov bl, al
neg bl
sbb bl, bl
inc bl
je 0x407c6d
push edi
push dword [ebp + 0x78]
lea eax, [ebp - 0x170]
push eax
push 0x43d030
call fcn.00406495
add esp, 0x10
mov bl, al
neg bl
sbb bl, bl
inc bl
je 0x407c6d
mov eax, dword [esi]
push 0x43d070
push dword [eax*4 + 0x4394bc]
call fcn.00417e70
pop ecx
pop ecx
push 1
push 0
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_InvalidateRect]
inc dword [esi]
cmp byte [ebp + 0x6e], 0
jne 0x407d3a
mov eax, dword [0x439548]
mov esi, dword [eax + 0x64]
mov edi, dword [eax + 0x10]
jmp 0x407d6d
push 0x95
xor edi, edi
lea eax, [ebp - 0x6b]
push edi
push eax
mov byte [ebp - 0x6c], 0
call fcn.00416e30
inc dword [esi]
mov eax, dword [esi]
push 0x43d098
push dword [eax*4 + 0x4394bc]
call fcn.00417e70
add esp, 0x14
push 1
push edi
push dword [ebp + 0x78]
call dword [sym.imp.USER32.dll_InvalidateRect]
inc dword [esi]
cmp byte [0x4395d9], 0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
je 0x407cc2
push 0x43d0bc
lea eax, [ebp - 0x6c]
push eax
call esi
push 0x43cfd8
lea eax, [ebp - 0x6c]
push eax
call esi
push 0x3c
pop esi
push esi
lea eax, [ebp + 0x2c]
push edi
push eax
call fcn.00416e30
lea eax, [ebp - 0x170]
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x34], eax
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x40], eax
add esp, 0xc
lea eax, [ebp + 0x2c]
push eax
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x48], 9
mov dword [ebp + 0x38], 0x43ca40
mov dword [ebp + 0x30], 0x440
call dword [0x4394f0]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x7c]
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x64]
mov dword [ecx], eax
cmp byte [ebp + 0x6f], 0
je 0x407c53
mov eax, dword [0x439548]
mov esi, dword [eax + 0x68]
mov edi, dword [eax + 4]
jmp 0x407d6d
mov eax, dword [0x439548]
test bl, bl
je 0x407d48
mov edi, dword [eax + 8]
jmp 0x407d6a
cmp byte [0x4395be], 0
jne 0x407d59
mov esi, dword [eax + 0x78]
mov edi, dword [eax + 0x14]
jmp 0x407d6d
cmp dword [ebp + 0x68], 0x20
jle 0x407d67
mov esi, dword [eax + 0x70]
mov edi, dword [eax + 0x1c]
jmp 0x407d6d
mov edi, dword [eax + 0xc]
mov esi, dword [eax + 0x74]
push 0x89
push dword [0x439544]
call fcn.00401041
test eax, eax
je 0x407dd9
mov eax, dword [0x439548]
push dword [eax + 0x78]
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x407dca
mov eax, dword [0x439544]
mov ecx, dword [eax + 4]
mov ebx, eax
cmp ecx, 0x64
je 0x407dca
push ecx
push eax
call fcn.00401041
push 0x89
push ebx
mov dword [ebp + 0x68], eax
call fcn.00401041
mov ecx, dword [ebp + 0x68]
cmp eax, ecx
jle 0x407dca
mov eax, dword [0x439548]
mov esi, dword [eax + 0x6c]
mov edi, dword [eax + 0x18]
push edi
push esi
push 0x89
call fcn.00406311
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
add ebp, 0x70
leave
ret