Function at 0x4e8f70
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x110]
sub esp, 0x124
mov ecx, dword [sym.imp.msvcrt.dll_strlen]
mov dword [ebp - 0x114], eax
mov dword [esp], eax
mov dword [ebp - 0x11c], ecx
call ecx
mov ecx, dword [sym.imp.kernel32.dll_GetTempPathA]
mov dword [ebp - 0x110], 0x6f6f66
lea edi, [eax + 1]
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov dword [ebp - 0x118], ecx
call ecx
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3a9
xor eax, eax
cmp esi, 0x104
setbe al
mov dword [esp + 4], str.should_fit_into_MAX_PATH_n
mov dword [esp], eax
call fcn.004e88d0
call fcn.0057d110
mov edx, dword [sym.imp.kernel32.dll_lstrcmpiA]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3aa
mov eax, dword [ebp - 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [ebp - 0x120], edx
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp - 0x114]
movzx eax, al
mov dword [esp + 4], str.expected___s___got___s__n
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.004e88d0
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3ab
mov dword [esp], ebx
mov edx, dword [ebp - 0x11c]
call edx
mov dword [esp + 4], str.returned_length_should_be_equal_to_the_length_of_string_n
cmp eax, esi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 4], ebx
mov dword [esp], 1
mov eax, dword [ebp - 0x118]
call eax
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3b5
xor eax, eax
cmp esi, edi
setae al
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected____lu__got__lu_n
call fcn.004e88d0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x118]
call eax
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3b8
xor eax, eax
cmp esi, edi
setae al
mov dword [esp + 0xc], esi
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Expected____lu__got__lu_n
call fcn.004e88d0
mov dword [ebp - 0x110], 0x6f6f66
mov dword [esp], esi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x118]
call eax
sub esp, 8
mov esi, eax
call fcn.0057d110
mov edi, dword [ebp - 0x114]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3bf
mov dword [esp + 4], edi
mov dword [esp], ebx
mov edx, dword [ebp - 0x120]
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [ebp - 0x114], edi
mov dword [esp + 8], edi
mov edi, ebx
mov dword [esp], eax
mov dword [esp + 4], str.expected___s___got___s__n
call fcn.004e88d0
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3c0
mov dword [esp], ebx
mov edx, dword [ebp - 0x11c]
call edx
mov dword [esp + 4], str.returned_length_should_be_equal_to_the_length_of_string_n
cmp eax, esi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x61616161
mov ecx, 0x41
rep stosd dword es:[edi], eax
mov dword [esp + 4], ebx
mov dword [esp], 0x104
mov eax, dword [ebp - 0x118]
call eax
sub esp, 8
mov esi, eax
call fcn.0057d110
mov edi, dword [ebp - 0x114]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3c4
mov dword [esp + 4], edi
mov dword [esp], ebx
mov edx, dword [ebp - 0x120]
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.expected___s___got___s__n
call fcn.004e88d0
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3c5
mov dword [esp], ebx
mov edx, dword [ebp - 0x11c]
call edx
mov dword [esp + 4], str.returned_length_should_be_equal_to_the_length_of_string_n
cmp eax, esi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea edx, [esi + 1]
cmp edx, 0x103
ja 0x4e92ba
mov dword [ebp - 0x114], esi
mov edi, edx
mov esi, edx
nop
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3c9
movsx ecx, byte [ebx + esi]
mov dword [esp + 8], esi
cmp cl, 0x61
mov dword [esp + 0xc], ecx
sete al
mov dword [esp + 4], str.expected_a_at___ld___got_0x_x_n
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
cmp esi, 0x104
jne 0x4e9270
mov esi, dword [ebp - 0x114]
mov edx, edi
mov eax, 0x61616161
mov ecx, 0x41
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, edx
mov dword [esp + 4], ebx
shr eax, 1
mov dword [ebp - 0x114], edx
mov dword [esp], eax
mov eax, dword [ebp - 0x118]
call eax
sub esp, 8
mov edi, eax
call fcn.0057d110
mov edx, dword [ebp - 0x114]
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3ce
mov eax, 1
cmp edx, edi
je 0x4e931e
add esi, 2
cmp esi, edi
mov esi, dword [0x8f0770]
sete cl
xor eax, eax
test esi, esi
sete al
and eax, ecx
mov dword [esp + 0xc], edi
xor esi, esi
mov dword [esp + 8], edx
mov dword [esp + 4], str.expected__ld__got__ld_n
mov dword [esp], eax
call fcn.004e88d0
lea esi, [esi]
nop
call fcn.0057d110
mov dword [eax], 0x5e82d4
mov dword [eax + 4], 0x3d1
movsx edx, byte [ebx + esi]
mov dword [esp + 8], esi
cmp dl, 0x61
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.expected_a_at___ld___got_0x_x_n
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
cmp esi, 0x104
jne 0x4e9340
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret