Function at 0x4ec530
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
mov eax, 0x25a
lea edi, [ebp - 0x964]
push ebx
sub esp, 0x9b0
mov dword [ebp - 0x99c], edx
mov dword [ebp - 0x9a0], ecx
call fcn.004e7d80
mov ebx, dword [sym.imp.kernel32.dll_GetShortPathNameA]
mov dword [esp], esi
lea eax, [ebp - 0x964]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [ebp - 0x998], ebx
call ebx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x25c
call fcn.004e7d80
lea eax, [ebp - 0x964]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov dword [ebp - 0x984], eax
call eax
mov dword [esp + 4], str.GetShortPathNameA_should_not_have_a_trailing__n
cmp byte [ebp + eax - 0x965], 0x5c
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 8], edi
lea edi, [ebp - 0x450]
mov dword [esp + 0xc], str.Long_Directory
mov dword [esp + 4], 0x5e83f6
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x260
call fcn.004e7d80
lea ecx, [ebp - 0x860]
mov dword [esp + 8], 0x104
mov dword [esp + 4], ecx
mov dword [esp], edi
call ebx
sub esp, 0xc
mov ebx, eax
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x262
call fcn.004e7d80
lea eax, [ebp + ebx - 0x861]
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpiA]
mov dword [esp + 4], 0x5e8d40
mov dword [esp], eax
mov dword [ebp - 0x990], ebx
call ebx
sub esp, 8
test eax, eax
setne al
mov dword [esp + 4], str.GetShortPathNameA_should_not_have_a_trailing__n
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 8], esi
mov dword [esp + 0x10], str.Long_File_test.path
mov dword [esp + 0xc], str.Long_Directory
mov dword [esp + 4], str._s_s_s
mov dword [esp], edi
call fcn.004e7b60
mov ecx, dword [sym.imp.kernel32.dll_GetLongPathNameA]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [ebp - 0x994], ecx
call ecx
sub esp, 0xc
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x988], esi
mov dword [esp], esi
mov ecx, dword [ebp - 0x994]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x268
call fcn.004e7d80
mov dword [esp], edi
mov eax, dword [ebp - 0x984]
call eax
mov dword [ebp - 0x98c], eax
mov eax, dword [ebp - 0x988]
mov dword [esp], eax
mov eax, dword [ebp - 0x984]
call eax
mov ecx, dword [ebp - 0x98c]
mov dword [esp + 8], ebx
sub esi, eax
xor eax, eax
mov dword [esp + 4], str.GetLongPathNameA:_wrong_return_code___ld_instead_of__d_n
sub ebx, ecx
lea edx, [ecx + 1]
cmp ebx, esi
mov dword [esp + 0xc], edx
lea esi, [ebp - 0x964]
sete al
mov dword [esp], eax
call fcn.004e88d0
movsx edx, byte [ebp - 0x99c]
mov dword [ebp - 0x9a4], edx
mov dword [esp + 8], edx
lea edx, [ebp - 0x75c]
mov dword [esp], edx
mov dword [esp + 4], 0x5e8d7c
call fcn.004e7b60
lea edx, [ebp - 0x75c]
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 8], 0x113
mov ecx, dword [ebp - 0x994]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x26e
call fcn.004e7d80
lea ecx, [ebp - 0x75c]
mov dword [esp + 4], edi
mov dword [esp], ecx
call dword [sym.imp.msvcrt.dll_strcmp]
lea ecx, [ebp - 0x75c]
mov dword [esp + 0x10], ebx
test eax, eax
mov dword [esp + 0xc], ecx
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.GetLongPathNameA:_returned__s_instead_of__s__rc_ld__n
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp], edi
mov ecx, str.pathtest.pth
mov edx, str.shortdir
mov dword [esp + 8], str.test1
mov dword [esp + 4], 0
mov ebx, dword [ebp - 0x988]
mov eax, ebx
call fcn.004ebc50
mov dword [esp + 8], esi
lea esi, [ebp - 0x33d]
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 4], str._s_s_s
mov dword [esp], esi
call fcn.004e7b60
mov eax, 0x275
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp], edi
mov edx, str.shortdir
mov eax, ebx
mov dword [esp + 8], str.test2
mov ecx, str.Long_File_test.path
mov dword [esp + 4], 0
call fcn.004ebc50
lea ecx, [ebp - 0x964]
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x5e83f6
mov dword [esp], esi
call fcn.004e7b60
mov edx, esi
mov eax, edi
call fcn.004ead20
mov dword [esp], edi
mov edx, str.Long_Directory
mov eax, ebx
mov dword [esp + 8], str.test3
mov ecx, str.pathtest.pth
mov dword [esp + 4], 0
call fcn.004ebc50
lea ecx, [ebp - 0x860]
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x5e83f6
mov dword [esp], esi
call fcn.004e7b60
mov eax, 0x27e
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp], edi
mov ecx, str.Long_File_test.path
mov eax, ebx
mov dword [esp + 8], str.test4
mov edx, str.Long_Directory
mov dword [esp + 4], 0
call fcn.004ebc50
lea edx, [ebp - 0x860]
mov eax, edi
call fcn.004ead20
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov ecx, str.noexist.pth
mov dword [esp + 4], eax
mov edx, str.shortdir
mov eax, ebx
mov dword [esp + 8], str.test5
call fcn.004ebc50
lea eax, [ebp - 0x964]
mov dword [esp], esi
mov dword [esp + 0x10], str.noexist.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_s_s
call fcn.004e7b60
mov eax, 0x288
call fcn.004e7d80
mov ebx, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x978]
test ebx, ebx
jne 0x4ec9d2
lea edx, [ecx - 2]
mov eax, 1
cmp edx, 1
jbe 0x4ec9f5
mov dword [ebp - 0x98c], ecx
mov dword [esp], esi
mov eax, dword [ebp - 0x984]
call eax
mov ecx, dword [ebp - 0x98c]
mov edx, eax
xor eax, eax
cmp ebx, edx
je 0x4ee4e6
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.GetShortPathNameA_error:_len_ld_error_ld_tmpstr__s__n
call fcn.004e88d0
mov eax, 0x28f
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ebx, dword [ebp - 0x96c]
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x290
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov ecx, str.NonExistent_File
mov dword [esp + 4], eax
mov edx, str.shortdir
mov dword [esp + 8], str.test6
mov ebx, dword [ebp - 0x988]
mov eax, ebx
call fcn.004ebc50
mov eax, 0x294
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x97c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x295
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_should_have_returned_ERROR_FILE_NOT_FOUND_n
lea eax, [edx - 2]
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x299
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x96c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x29a
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov ecx, str.noexist.pth
mov dword [esp + 4], eax
mov edx, str.Long_Directory
mov eax, ebx
mov dword [esp + 8], str.test7
call fcn.004ebc50
lea eax, [ebp - 0x964]
mov dword [esp + 0xc], str.Long_Directory
mov dword [esp + 8], eax
lea eax, [ebp - 0x223]
mov dword [esp + 4], 0x5e83f6
mov dword [esp], eax
call fcn.004e7b60
lea eax, [ebp - 0x223]
mov dword [esp + 4], esi
mov dword [esp + 8], 0x104
mov dword [esp], eax
mov eax, dword [ebp - 0x998]
call eax
sub esp, 0xc
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, esi
mov dword [eax], 0x656f6e5c
mov dword [eax + 4], 0x74736978
mov dword [eax + 8], 0x6874702e
mov byte [eax + 0xc], 0
mov eax, 0x2a1
call fcn.004e7d80
mov ebx, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x978]
test ebx, ebx
jne 0x4ecbf6
lea edx, [ecx - 2]
mov eax, 1
cmp edx, 1
jbe 0x4ecc19
mov dword [ebp - 0x98c], ecx
mov dword [esp], esi
mov eax, dword [ebp - 0x984]
call eax
mov ecx, dword [ebp - 0x98c]
mov edx, eax
xor eax, eax
cmp ebx, edx
je 0x4ee50b
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.GetShortPathNameA_error:_len_ld_error_ld_tmpstr__s__n
call fcn.004e88d0
mov eax, 0x2a7
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x96c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2a8
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov ecx, str.NonExistent_File
mov dword [esp + 4], eax
mov edx, str.Long_Directory
mov dword [esp + 8], str.test8
mov ebx, dword [ebp - 0x988]
mov eax, ebx
call fcn.004ebc50
mov eax, 0x2ac
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x97c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2ad
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_should_have_returned_ERROR_FILE_NOT_FOUND_n
lea eax, [edx - 2]
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2b1
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x96c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2b2
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov ecx, str.pathtest.pth
mov dword [esp + 4], eax
mov edx, str.notadir
mov eax, ebx
mov dword [esp + 8], str.test9
call fcn.004ebc50
lea eax, [ebp - 0x964]
mov dword [esp], esi
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.notadir
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_s_s
call fcn.004e7b60
mov eax, 0x2b8
call fcn.004e7d80
mov ebx, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x978]
test ebx, ebx
jne 0x4ecdda
lea edx, [ecx - 2]
mov eax, 1
cmp edx, 1
jbe 0x4ecdfd
mov dword [ebp - 0x98c], ecx
mov dword [esp], esi
mov eax, dword [ebp - 0x984]
call eax
mov ecx, dword [ebp - 0x98c]
mov edx, eax
xor eax, eax
cmp ebx, edx
je 0x4ee530
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.GetShortPathNameA_error:_len_ld_error_ld_tmpstr__s__n
call fcn.004e88d0
mov eax, 0x2be
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x96c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2bf
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
mov dword [esp + 8], eax
sub eax, 2
cmp eax, 1
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov edx, str.notadir
mov dword [esp + 4], eax
mov ecx, str.Long_File_test.path
mov dword [esp + 8], str.test10
mov ebx, dword [ebp - 0x988]
mov eax, ebx
call fcn.004ebc50
mov eax, 0x2c4
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x97c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2c5
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_returned__ld_and_not_ERROR_PATH_NOT_FOUND_n
lea eax, [edx - 2]
mov dword [esp + 8], edx
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2ca
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x96c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2cb
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
mov dword [esp + 8], eax
sub eax, 2
cmp eax, 1
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov edx, str.NonExistent_Directory
mov dword [esp + 4], eax
mov ecx, str.pathtest.pth
mov eax, ebx
mov dword [esp + 8], str.test11
call fcn.004ebc50
mov eax, 0x2d0
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x97c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2d1
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_returned__ld_and_not_ERROR_PATH_NOT_FOUND_n
lea eax, [edx - 2]
mov dword [esp + 8], edx
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2d6
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x96c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2d7
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
mov dword [esp + 8], eax
sub eax, 2
cmp eax, 1
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
lea eax, [ebp - 0x97c]
mov dword [esp], edi
mov edx, str.NonExistent_Directory
mov dword [esp + 4], eax
mov ecx, str.Long_File_test.path
mov eax, ebx
mov dword [esp + 8], str.test12
call fcn.004ebc50
mov eax, 0x2dc
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x97c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2dd
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_returned__ld_and_not_ERROR_PATH_NOT_FOUND_n
lea eax, [edx - 2]
mov dword [esp + 8], edx
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2e2
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x96c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2e3
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
mov dword [esp + 8], eax
sub eax, 2
cmp eax, 1
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], 0x5e8f3b
mov dword [esp], edi
call fcn.004e7b60
mov dword [esp], esi
mov ecx, edi
mov edx, 0x5e8280
mov dword [esp + 8], str.test13
mov eax, ebx
mov dword [esp + 4], 0
call fcn.004ebc50
mov dword [esp + 8], str.Long_Directory
mov dword [esp + 4], 0x5e8f3b
mov dword [esp], edi
call fcn.004e7b60
mov dword [esp], esi
mov ecx, edi
mov edx, 0x5e8280
mov dword [esp + 8], str.test14
mov eax, ebx
mov dword [esp + 4], 0
call fcn.004ebc50
mov dword [esp + 8], str.notadir
mov dword [esp + 4], 0x5e8f3b
mov dword [esp], edi
call fcn.004e7b60
lea eax, [ebp - 0x97c]
mov dword [esp], esi
mov ecx, edi
mov dword [esp + 4], eax
mov edx, 0x5e8280
mov eax, ebx
mov dword [esp + 8], str.test15
call fcn.004ebc50
lea eax, [ebp - 0x964]
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
lea eax, [ebp - 0x223]
mov dword [esp + 4], 0x5e83f6
mov dword [esp], eax
call fcn.004e7b60
mov eax, 0x2f0
call fcn.004e7d80
mov ebx, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x978]
test ebx, ebx
jne 0x4ed1ff
lea edx, [ecx - 2]
mov eax, 1
cmp edx, 1
jbe 0x4ed228
lea eax, [ebp - 0x223]
mov dword [ebp - 0x98c], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x984]
call eax
mov ecx, dword [ebp - 0x98c]
mov edx, eax
xor eax, eax
cmp ebx, edx
je 0x4ee555
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.GetShortPathNameA_error:_len_ld_error_ld_tmpstr__s__n
call fcn.004e88d0
mov eax, 0x2f6
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov edx, dword [ebp - 0x96c]
test edx, edx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2f7
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 8], str.NonExistent_Directory
mov dword [esp + 4], 0x5e8f3b
mov dword [esp], edi
call fcn.004e7b60
lea eax, [ebp - 0x97c]
mov dword [esp], esi
mov ecx, edi
mov dword [esp + 8], str.test16
mov edx, 0x5e8280
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x988]
call fcn.004ebc50
mov eax, 0x2fb
call fcn.004e7d80
mov dword [esp + 4], str.GetShortPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ecx, dword [ebp - 0x97c]
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x2fc
call fcn.004e7d80
mov edx, dword [ebp - 0x978]
mov dword [esp + 4], str.GetShortPathA_returned__ld_and_not_ERROR_FILE_NOT_FOUND_n
lea eax, [edx - 2]
mov dword [esp + 8], edx
cmp eax, 1
setbe al
test edx, edx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x301
call fcn.004e7d80
mov dword [esp + 4], str.GetLongPathNameA_passed_when_it_shouldnt_have_n
xor eax, eax
mov ebx, dword [ebp - 0x96c]
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.004e88d0
mov eax, 0x302
call fcn.004e7d80
mov eax, dword [ebp - 0x968]
mov dword [esp + 4], 0x5e8e1c
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004e88d0
cmp byte [ebp - 0x99c], 0x40
jne 0x4ee2b0
lea eax, [ebp - 0x980]
mov dword [ebp - 0x98c], eax
mov eax, dword [sym.imp.kernel32.dll_GetFullPathNameA]
mov dword [ebp - 0x984], eax
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov ebx, dword [ebp - 0x988]
movsx eax, byte [ebx]
mov dword [esp + 4], str._c:_s_s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004e7b60
mov eax, 0x318
call fcn.004e7d80
mov eax, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov edx, dword [ebp - 0x984]
call edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_failed_n
call fcn.004e88d0
mov dword [esp + 8], ebx
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 4], str._s_s_s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x31a
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x31c
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
mov ebx, dword [ebp - 0x9a0]
cmp bl, 0x40
je 0x4ed5e4
movsx ebx, bl
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 8], ebx
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 4], str._c:_s_s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x322
call fcn.004e7d80
mov ecx, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], ecx
mov dword [esp], edi
mov edx, dword [ebp - 0x984]
call edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.GetFullPathNameA_failed_for__s_n
call fcn.004e88d0
mov dword [esp + 8], ebx
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 4], 0x5e8ff5
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x324
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x326
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], str.pathtest.pth
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
cmp byte [ebp - 0x99c], 0x40
je 0x4ed703
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov ebx, dword [ebp - 0x9a4]
mov dword [esp + 4], str._c:__s_s
mov dword [esp + 8], ebx
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x32d
call fcn.004e7d80
mov eax, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov eax, dword [ebp - 0x984]
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_failed_n
call fcn.004e88d0
mov dword [esp + 8], ebx
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 4], 0x5e8ff5
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x32f
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x331
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], str.pathtest.pth
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 0xc], str.Long_File_test.path
mov dword [esp + 8], str.Long_Directory
mov dword [esp + 4], str._s__s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x338
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov ebx, dword [ebp - 0x994]
call ebx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x339
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
movsx eax, byte [ebp - 0x441]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_tolower]
mov byte [ebp - 0x441], al
mov eax, 0x33c
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [ebp - 0x994], ebx
call ebx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x33d
call fcn.004e7d80
mov dword [esp + 4], esi
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], str._s__s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x340
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x994]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x341
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov ecx, dword [ebp - 0x990]
call ecx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
movsx eax, byte [ebp - 0x447]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
mov byte [ebp - 0x447], al
mov eax, 0x345
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x994]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x346
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov ecx, dword [ebp - 0x990]
call ecx
mov edx, eax
sub esp, 8
xor eax, eax
test edx, edx
je 0x4ee4a8
mov dword [esp], eax
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s__s_n
call fcn.004e88d0
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], str._s__s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x34a
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x998]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x34b
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov ebx, dword [ebp - 0x990]
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov edx, dword [ebp - 0x988]
movsx eax, byte [edx]
mov dword [esp + 4], str._c:_s__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004e7b60
mov eax, 0x350
call fcn.004e7d80
mov ecx, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], ecx
mov dword [esp], edi
mov eax, dword [ebp - 0x984]
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_failed_n
call fcn.004e88d0
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov edx, dword [ebp - 0x988]
mov dword [esp + 4], str._s_s_s
mov dword [esp + 8], edx
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x352
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [ebp - 0x990], ebx
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x354
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], str.__s__s
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x358
call fcn.004e7d80
mov edx, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x104
mov dword [esp + 0xc], edx
mov dword [esp], edi
mov edx, dword [ebp - 0x984]
call edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_failed_n
call fcn.004e88d0
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
movsx eax, byte [ebp - 0x33d]
mov dword [esp + 4], 0x5e8ff5
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x35a
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x35d
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x554]
movzx eax, al
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x361
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], edi
mov dword [esp], str.Long_Directory
mov ecx, dword [ebp - 0x998]
call ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov dword [esp], ebx
lea edx, [ebp - 0x658]
mov eax, edi
mov ecx, edx
lea edx, [ebp - 0x75c]
call fcn.004e8b40
mov eax, 0x363
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov edx, dword [ebp - 0x994]
call edx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x364
call fcn.004e7d80
mov dword [esp + 4], str.Long_Directory
mov dword [esp], esi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], str.Long_Directory
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp + 8], str.Long_Directory
mov dword [esp + 4], 0x5e9147
mov dword [esp], edi
call fcn.004e7b60
mov eax, 0x367
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
mov ecx, dword [ebp - 0x998]
call ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov dword [esp], ebx
lea edx, [ebp - 0x75c]
mov eax, esi
lea ecx, [ebp - 0x658]
call fcn.004e8b40
mov eax, 0x369
call fcn.004e7d80
lea ecx, [ebp - 0x75c]
mov dword [esp + 4], 0x5e914c
mov dword [esp], ecx
mov eax, dword [ebp - 0x990]
call eax
mov edx, eax
sub esp, 8
mov eax, 1
test edx, edx
je 0x4edd66
xor eax, eax
cmp byte [ebp - 0x75c], 0
sete al
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetShortPathNameA_did_not_keep_relative_directory___s__n
call fcn.004e88d0
mov eax, 0x36b
call fcn.004e7d80
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], esi
mov eax, dword [ebp - 0x994]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.GetLongPathNameA_failed__s_n
call fcn.004e88d0
mov eax, 0x36c
call fcn.004e7d80
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
xor ebx, ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
xor eax, eax
cmp byte [ebx + str.11111110111111111011], 0x30
setne al
mov dword [ebp - 0x984], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_1
mov dword [esp], esi
call fcn.004e7b60
movsx ecx, byte [ebx + str.___________]
mov dword [ebp - 0x98c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.file_c000.ext
mov dword [esp], edi
call fcn.004e7b60
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x984]
mov ecx, edi
lea edx, [ebp - 0x964]
mov dword [esp], eax
mov eax, dword [ebp - 0x988]
call fcn.004ec2a0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_2
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str.file000.e_ct
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
mov dword [esp], edx
mov eax, dword [ebp - 0x988]
lea edx, [ebp - 0x964]
call fcn.004ec2a0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_3
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str._cfile000.ext
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
lea eax, [ebp - 0x964]
mov dword [esp], edx
mov edx, eax
mov eax, dword [ebp - 0x988]
call fcn.004ec2a0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_4
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str.file000_c.ext
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
lea eax, [ebp - 0x964]
mov dword [esp], edx
mov edx, eax
mov eax, dword [ebp - 0x988]
call fcn.004ec2a0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_5
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str.Long__c_File
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
lea eax, [ebp - 0x964]
mov dword [esp], edx
mov edx, eax
mov eax, dword [ebp - 0x988]
call fcn.004ec2a0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.check_d_6
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str._c_Long_File
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
lea eax, [ebp - 0x964]
mov dword [esp], edx
mov edx, eax
mov eax, dword [ebp - 0x988]
call fcn.004ec2a0
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 4], str.check_d_7
mov dword [esp], esi
call fcn.004e7b60
mov ecx, dword [ebp - 0x98c]
mov dword [esp], edi
mov dword [esp + 4], str.Long_File__c
mov dword [esp + 8], ecx
call fcn.004e7b60
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x984]
mov ecx, edi
mov dword [esp], edx
mov eax, dword [ebp - 0x988]
lea edx, [ebp - 0x964]
call fcn.004ec2a0
cmp ebx, 0x14
jne 0x4eddf0
mov ebx, dword [ebp - 0x988]
mov ecx, str.Long_File_test.path
mov edx, str.shortdir
mov eax, ebx
call fcn.004e8d70
mov eax, ebx
mov ecx, str.pathtest.pth
mov edx, str.Long_Directory
call fcn.004e8d70
mov ecx, str.Long_File_test.path
mov edx, str.Long_Directory
mov eax, ebx
call fcn.004e8d70
mov dword [esp], edi
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], str._s_s
call fcn.004e7b60
mov eax, 0x38f
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x998]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x390
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov ebx, dword [ebp - 0x990]
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp], edi
mov dword [esp + 0xc], str.pathtest.pth
mov dword [esp + 8], str.shortdir
mov dword [esp + 4], str.._s_s
call fcn.004e7b60
mov eax, 0x393
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x998]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x394
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetShortPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp], edi
mov dword [esp + 0xc], str.Long_File_test.path
mov dword [esp + 8], str.Long_Directory
mov dword [esp + 4], str._s_s
call fcn.004e7b60
mov eax, 0x398
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x994]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x399
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov dword [esp], edi
mov dword [esp + 0xc], str.Long_File_test.path
mov dword [esp + 8], str.Long_Directory
mov dword [esp + 4], str.._s_s
call fcn.004e7b60
mov eax, 0x39c
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x994]
call eax
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], str.GetLongPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x39d
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str.GetLongPathNameA_returned__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x988]
movsx eax, byte [ebx]
mov dword [esp + 4], 0x5e8d7c
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004e7b60
mov eax, 0x307
call fcn.004e7d80
lea eax, [ebp - 0x980]
mov dword [ebp - 0x988], ebx
movsx ebx, byte [ebx]
mov dword [ebp - 0x98c], eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x223]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.kernel32.dll_GetFullPathNameA]
mov dword [esp + 4], 0x104
mov dword [esp], edi
mov dword [ebp - 0x984], eax
call eax
sub esp, 0x10
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetFullPathNameA__c:__failed_n
mov dword [esp], eax
call fcn.004e88d0
mov dword [esp + 4], edi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
sub esp, 8
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e8f3b
mov dword [esp], esi
call fcn.004e7b60
mov eax, 0x30b
call fcn.004e7d80
mov ebx, dword [ebp - 0x988]
lea eax, [ebp - 0x223]
movsx ebx, byte [ebx]
mov dword [esp + 4], eax
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
mov edx, eax
sub esp, 8
mov eax, 1
test edx, edx
jne 0x4ee4c1
lea ecx, [ebp - 0x223]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA__c:__returned__s_instead_of__s_or__s_n
call fcn.004e88d0
mov dword [esp + 0x10], str.pathtest.pth
mov dword [esp + 0xc], str.shortdir
mov eax, dword [ebp - 0x9a4]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5e8ff5
call fcn.004e7b60
mov eax, 0x310
call fcn.004e7d80
mov eax, dword [ebp - 0x98c]
mov dword [esp + 8], esi
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x104
mov eax, dword [ebp - 0x984]
call eax
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_failed_n
call fcn.004e88d0
mov eax, 0x311
call fcn.004e7d80
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.GetFullPathNameA_returned__s_instead_of__s_n
call fcn.004e88d0
mov eax, 0x313
call fcn.004e7d80
mov ebx, dword [ebp - 0x980]
mov dword [esp], str.pathtest.pth
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], str.pathtest.pth
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.GetFullPathNameA_returned_part__s_instead_of__s_n
mov dword [esp], eax
call fcn.004e88d0
jmp 0x4ed3ad
mov dword [esp + 4], esi
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
setne al
movzx eax, al
jmp 0x4ed91b
lea eax, [ebp - 0x223]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x990]
call eax
sub esp, 8
test eax, eax
sete al
movzx eax, al
jmp 0x4ee38b
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
mov ecx, dword [ebp - 0x98c]
sub esp, 8
test eax, eax
sete al
movzx eax, al
jmp 0x4ec9f5
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
mov ecx, dword [ebp - 0x98c]
sub esp, 8
test eax, eax
sete al
movzx eax, al
jmp 0x4ecc19
mov dword [esp + 4], esi
mov dword [esp], edi
mov eax, dword [ebp - 0x990]
call eax
mov ecx, dword [ebp - 0x98c]
sub esp, 8
test eax, eax
sete al
movzx eax, al
jmp 0x4ecdfd
lea eax, [ebp - 0x223]
mov dword [ebp - 0x984], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x990]
call eax
mov ecx, dword [ebp - 0x984]
sub esp, 8
test eax, eax
sete al
movzx eax, al
jmp 0x4ed228