Function at 0x416480
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x45755d
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4731fc]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, 1
push 0xa
lea ecx, [esp + 0x58]
mov dword [esp + 0x50], ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0043d0a0
mov edi, eax
add esp, 8
test edi, edi
jne 0x41672a
push 9
lea ecx, [esp + 0x5c]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
call fcn.0043d0a0
mov edi, eax
add esp, 8
test edi, edi
lea ecx, [esp + 0x54]
jne 0x41672e
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x24]
call fcn.004031c0
lea eax, [esp + 0x20]
lea ebp, [esi + 0xc]
push eax
mov ecx, ebp
mov byte [esp + 0x50], 2
call fcn.00404c00
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], bl
call fcn.00401d80
lea ecx, [esp + 0x58]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x24]
call fcn.004031c0
lea edx, [esp + 0x20]
lea ecx, [esi + 0x30]
push edx
mov byte [esp + 0x50], 3
call fcn.00404c00
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], bl
call fcn.00401d80
lea edi, [esi + 0x54]
push ebp
mov ecx, edi
call fcn.00401de0
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
push 0x104
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], 4
call dword [sym.imp.MFC80U.DLL_Ordinal_2460]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_5398]
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x24]
call fcn.004031c0
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x50], 5
call fcn.00404f20
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], 4
call fcn.00401d80
mov ebx, 8
cmp dword [esi + 0x70], ebx
jb 0x4165db
mov ecx, dword [esi + 0x5c]
jmp 0x4165de
lea ecx, [esi + 0x5c]
cmp dword [esi + 0x28], ebx
jb 0x4165e8
mov eax, dword [esi + 0x14]
jmp 0x4165eb
lea eax, [esi + 0x14]
push ecx
push eax
call fcn.0043e8f0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x416620
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x58]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, ebp
jmp 0x4167db
cmp dword [esi + 0x70], ebx
jb 0x41662a
mov eax, dword [esi + 0x5c]
jmp 0x41662d
lea eax, [esi + 0x5c]
push eax
call fcn.00412c40
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4165fb
push edi
mov ecx, 0x4735e0
call fcn.00401de0
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x4735e0
call fcn.00404030
mov edi, eax
push str.original_
lea ecx, [esp + 0x20]
mov byte [esp + 0x50], 6
call dword [sym.imp.MFC80U.DLL_Ordinal_283]
mov ebp, eax
mov ecx, edi
mov byte [esp + 0x4c], 7
call fcn.00401e40
push eax
lea edx, [esp + 0x1c]
push ebp
push edx
call fcn.00411c80
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x50], bl
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], 4
call fcn.00401d80
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [esp + 0x24]
call fcn.004031c0
lea eax, [esp + 0x20]
push eax
mov ecx, 0x4735e0
mov byte [esp + 0x50], 9
call fcn.00405010
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], 4
call fcn.00401d80
cmp dword [0x4735fc], ebx
mov ecx, dword [0x4735e8]
jae 0x416703
mov ecx, 0x4735e8
cmp dword [esi + 0x28], ebx
jb 0x41670d
mov eax, dword [esi + 0x14]
jmp 0x416710
lea eax, [esi + 0x14]
push ecx
push eax
call fcn.0043e8f0
mov edi, eax
add esp, 8
test edi, edi
je 0x416745
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x58]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, edi
jmp 0x4167db
mov ecx, esi
call fcn.00410690
test eax, eax
jne 0x416775
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x58]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, 0x20
jmp 0x4167db
lea eax, [esi + 0xc]
lea edi, [esi + 0x9c]
push eax
mov ecx, edi
call fcn.00406860
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esi + 0x30]
call fcn.00401420
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x50], 0xa
call fcn.00404f20
lea ecx, [esp + 0x20]
mov byte [esp + 0x4c], 4
call fcn.00401d80
mov ecx, esi
call fcn.00415ec0
lea ecx, [esp + 0x14]
mov esi, eax
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x54]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [esp + 0x58]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, esi
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 8