Function at 0x45dd60
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x728
mov eax, dword [0x4d4770]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x4d6260]
push ebx
push esi
push edi
mov eax, dword [eax + 4]
xor esi, esi
mov edi, dword [ebp + 0x18]
mov ebx, 0x304
push ecx
push 0x425ac8
mov eax, dword [eax + 0x120]
mov edx, ebx
mov dword [ebp - 0x710], ecx
push ecx
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x720], esi
mov eax, dword [eax]
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], esi
call fcn.00442865
test eax, eax
jne 0x45e2ac
push dword [ebp + 8]
mov edx, ebx
lea ecx, [ebp - 0x31c]
call fcn.00442797
test eax, eax
jne 0x45e2ac
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp - 0x31c]
push ebx
mov edx, 0x304
call fcn.00442797
test eax, eax
jne 0x45e2ac
cmp byte [ebx], al
je 0x45de30
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45de03
sub ecx, edx
cmp byte [ecx + ebx - 1], 0x5c
je 0x45de30
push 0x425a94
mov edx, 0x304
lea ecx, [ebp - 0x31c]
call fcn.00442797
test eax, eax
jne 0x45e2ac
push dword [ebp + 0x10]
mov edx, 0x304
lea ecx, [ebp - 0x31c]
call fcn.00442797
test eax, eax
jne 0x45e2ac
push dword [ebp + 0x14]
mov edx, 0x304
lea ecx, [ebp - 0x31c]
call fcn.00442797
test eax, eax
jne 0x45e2ac
push 0x425ac8
mov edx, 0x304
lea ecx, [ebp - 0x31c]
call fcn.00442797
test eax, eax
jne 0x45e2ac
mov ecx, dword [0x4d6258]
mov eax, dword [ecx + 0x124]
mov eax, dword [eax]
mov ebx, eax
mov dword [ebp - 0x71c], eax
lea edx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x45de9c
sub ebx, edx
push 0x6e
lea edx, [ebx + 0x28]
mov dword [ebp - 0x714], edx
call fcn.00444b6d
test eax, eax
je 0x45dec4
add ebx, 0x33
mov dword [ebp - 0x714], ebx
jmp 0x45deca
mov ebx, dword [ebp - 0x714]
mov eax, dword [0x4d6258]
mov ecx, 0x100
test word [eax + 0x1a], cx
je 0x45dee3
add ebx, 0x1a
mov dword [ebp - 0x714], ebx
mov ecx, ebx
call fcn.00442720
push ecx
lea ecx, [ebp - 0x708]
mov dword [ebp - 0x718], eax
push ecx
lea ecx, [ebp - 0x70c]
mov edx, ebx
push ecx
push dword [ebp - 0x71c]
mov ecx, eax
call fcn.0045c922
test eax, eax
jne 0x45e2ac
mov ebx, dword [0x4d6258]
mov eax, 0x100
test word [ebx + 0x1a], ax
je 0x45df50
mov edx, dword [ebp - 0x714]
lea eax, [ebp - 0x708]
push ecx
push eax
lea eax, [ebp - 0x70c]
push eax
push ecx
mov ecx, dword [ebp - 0x718]
call fcn.0045c9f9
test eax, eax
jne 0x45e2ac
push 0x6e
mov ecx, ebx
call fcn.00444b6d
mov ecx, ebx
push 0x56
test eax, eax
je 0x45e00d
call fcn.00444b6d
mov ecx, dword [ebp - 0x710]
test eax, eax
je 0x45dfe8
mov eax, 0x321
push eax
push eax
movsx eax, word [ecx + 0x14]
push eax
push 0x425ae8
push dword [ebp - 0x708]
push dword [ebp - 0x70c]
call fcn.00442802
add esp, 0x18
test eax, eax
jne 0x45e2ac
mov ebx, 0x3e8
mov ecx, ebx
call fcn.00442720
mov dword [edi], eax
lea eax, [ebp - 0x704]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x45e047
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x425b5c
push ebx
push dword [edi]
call fcn.004cce05
add esp, 0x10
push dword [edi]
mov esi, 0x3f8
jmp 0x45e2a0
movsx eax, word [ecx + 0x14]
push 0x321
push eax
push 0x425b14
push dword [ebp - 0x708]
push dword [ebp - 0x70c]
call fcn.00442802
add esp, 0x14
jmp 0x45df99
call fcn.00444b6d
test eax, eax
je 0x45e024
mov eax, 0x321
push eax
push eax
push 0x425b2c
jmp 0x45dff7
push 0x321
push 0x425b4c
push dword [ebp - 0x708]
push dword [ebp - 0x70c]
call fcn.00442802
add esp, 0x10
jmp 0x45df99
push dword [edi]
lea eax, [ebp - 0x704]
push esi
push 0x425b7c
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x45e0d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x710], esi
push dword [edi]
lea eax, [ebp - 0x704]
push esi
push 0x425b7c
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x45e0ac
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1f4
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x710]
inc eax
mov dword [ebp - 0x710], eax
cmp eax, 5
jl 0x45e06c
jmp 0x45e0ae
mov ebx, esi
test ebx, ebx
je 0x45e0d3
push ebx
lea eax, [ebp - 0x704]
push eax
push 0x425b84
push 0x3e8
push dword [edi]
call fcn.004cce05
add esp, 0x14
jmp 0x45dfdc
push 0x20
push 0x425bac
push dword [edi]
call dword [sym.imp.msvcrt.dll__fsopen]
add esp, 0xc
mov dword [ebp - 0x71c], eax
test eax, eax
je 0x45dfdc
push eax
call dword [sym.imp.msvcrt.dll__fileno]
cmp dword [0x4d47bc], 0xffffffff
mov ebx, eax
pop ecx
jne 0x45e11d
push 1
call dword [sym.imp.msvcrt.dll__dup]
mov dword [0x4d47bc], eax
pop ecx
cmp eax, 0xffffffff
je 0x45e29a
push 1
push ebx
call dword [sym.imp.msvcrt.dll__dup2]
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x45e29a
mov ecx, dword [0x4d6258]
push 0x32
call fcn.00444b6d
test eax, eax
je 0x45e1ab
push 0x425bac
mov ebx, 0x425a70
mov dword [ebp - 0x720], 1
push ebx
call dword [sym.imp.msvcrt.dll_fopen]
mov dword [ebp - 0x724], eax
pop ecx
pop ecx
test eax, eax
jne 0x45e16f
push ebx
jmp 0x45dfde
push eax
call dword [sym.imp.msvcrt.dll__fileno]
or dword [0x4d47b8], 0xffffffff
mov ebx, eax
pop ecx
push 2
call dword [sym.imp.msvcrt.dll__dup]
mov dword [0x4d47b8], eax
pop ecx
cmp eax, 0xffffffff
je 0x45e29a
push 2
push ebx
call dword [sym.imp.msvcrt.dll__dup2]
pop ecx
pop ecx
cmp eax, 0xffffffff
je 0x45e29a
push esi
lea eax, [ebp - 0x31c]
push eax
push dword [ebp - 0x718]
mov eax, dword [ebp - 0x728]
push eax
push eax
push esi
call dword [sym.imp.msvcrt.dll__spawnlp]
mov ebx, eax
add esp, 0x18
mov eax, dword [ebp - 0x718]
test eax, eax
je 0x45e1df
push eax
call dword [sym.imp.msvcrt.dll_free]
pop ecx
push dword [ebp - 0x71c]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
push 1
push dword [0x4d47bc]
call dword [sym.imp.msvcrt.dll__dup2]
pop ecx
pop ecx
cmp dword [ebp - 0x720], esi
je 0x45e221
push dword [ebp - 0x724]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
push 2
push dword [0x4d47b8]
call dword [sym.imp.msvcrt.dll__dup2]
pop ecx
pop ecx
cmp ebx, 0xffffffff
jne 0x45e260
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
dec eax
sub eax, 1
je 0x45e253
sub eax, 6
je 0x45e24c
sub eax, 4
je 0x45e245
mov esi, 0x3ec
jmp 0x45e258
mov esi, 0x7d5
jmp 0x45e258
mov esi, 0x3ee
jmp 0x45e258
mov esi, 0x3ed
mov eax, dword [ebp - 0x728]
jmp 0x45e284
test ebx, ebx
je 0x45e2aa
push ebx
push 0x425bb0
lea eax, [ebp - 0x14]
push 0xa
push eax
call fcn.00442802
add esp, 0x10
test eax, eax
jne 0x45e2ac
mov esi, 0x3eb
lea eax, [ebp - 0x14]
push eax
push esi
xor edx, edx
xor ecx, ecx
call fcn.004cb5e7
push dword [edi]
call dword [sym.imp.msvcrt.dll__unlink]
pop ecx
jmp 0x45e2aa
push esi
mov esi, 0x3fa
push esi
xor edx, edx
xor ecx, ecx
call fcn.004cb5e7
mov eax, esi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cc790
leave
ret 0x14