Function at 0x464950
Capabilities:
Get common file path
Get disk information

Disassembly:
push ebp
mov eax, 0x12ec
mov ebp, esp
push edi
push esi
push ebx
call fcn.0057e5f0
sub esp, eax
mov eax, dword [0x76d14c]
test eax, eax
je 0x465ae0
lea esi, [ebp - 0xcb4]
lea edi, [ebp - 0x10c4]
mov ebx, dword fs:[0x18]
mov dword [ebx + 0x34], 0xdeadbeaf
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104
mov dword [esp], 0xffffffff
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x14b6
call fcn.0045b740
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_length_0__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14b7
call fcn.0045b740
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_ERROR_INVALID_HANDLE__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 6
sete al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call dword [0x76d14c]
sub esp, 0x10
mov esi, eax
mov eax, 0x14ba
call fcn.0045b740
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_length_0__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14bb
call fcn.0045b740
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_ERROR_INVALID_HANDLE__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 6
sete al
mov dword [esp], eax
call fcn.0045bef0
lea edx, [ebp - 0x12cc]
mov dword [esp], 0x104
mov dword [esp + 4], edx
call dword [sym.imp.kernel32.dll_GetTempPathW]
sub esp, 8
mov esi, eax
mov eax, 0x14be
call fcn.0045b740
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.Failed_to_get_temp_path__error__lu_n
mov dword [esp + 8], eax
call fcn.0045bef0
lea edx, [ebp - 0x12cc]
mov dword [esp + 0xc], edi
mov dword [esp], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x57f240
call dword [sym.imp.kernel32.dll_GetTempFileNameW]
sub esp, 0x10
mov esi, eax
mov eax, 0x14c0
call fcn.0045b740
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.GetTempFileNameW_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
lea esi, [ebp - 0xebc]
setne al
mov dword [esp], eax
call fcn.0045bef0
mov dword [esp + 8], 0x104
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_GetLongPathNameW]
sub esp, 0xc
mov dword [ebp - 0x12d0], eax
mov eax, 0x14c2
call fcn.0045b740
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.GetLongPathNameW_error__lu_n
lea ebx, [ebp - 0x8a4]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x12d0]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.0045bef0
xor eax, eax
lea esi, [esi]
movzx edx, word [eax + 0x57f220]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x464b60
cmp word [ebp - 0x8a4], 0
mov edx, ebx
je 0x464b89
nop
add edx, 2
cmp word [edx], 0
jne 0x464b80
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [esi + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x464b90
mov dword [esp], edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x4000000
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc0000000
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov edi, eax
mov dword [ebp - 0x12d0], eax
mov eax, 0x14c8
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.CreateFileW_error__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp edi, 0xffffffff
setne al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0xcb4]
mov dword [esp], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [0x76d14c]
sub esp, 0x10
mov edi, eax
mov eax, 0x14d3
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a40
mov eax, ebx
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x464c58
sub eax, ebx
mov edx, ebx
sar eax, 1
add eax, 1
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x464c70
sub edx, ebx
mov ecx, 1
sar edx, 1
add edx, 1
cmp edx, edi
je 0x464cb5
mov edx, ebx
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x464c90
sub edx, ebx
sar edx, 1
add edx, 2
mov ecx, dword [0x8f0770]
test ecx, ecx
sete cl
cmp edi, edx
sete dl
movzx edx, dl
and ecx, edx
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], str.Expected_length__u__got__lu_n
call fcn.0045bef0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [0x76d14c]
sub esp, 0x10
mov edi, eax
mov eax, 0x14d8
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a60
mov eax, ebx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x464d18
sub eax, ebx
mov edx, ebx
sar eax, 1
add eax, 1
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x464d30
sub edx, ebx
mov ecx, 1
sar edx, 1
add edx, 1
cmp edx, edi
je 0x464d75
mov edx, ebx
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x464d50
sub edx, ebx
sar edx, 1
add edx, 2
mov ecx, dword [0x8f0770]
test ecx, ecx
sete cl
cmp edi, edx
sete dl
movzx edx, dl
and ecx, edx
mov dword [esp + 0xc], edi
lea edi, [ebp - 0xcb4]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], str.Expected_length__u__got__lu_n
call fcn.0045bef0
mov eax, 0x11111111
mov ecx, 0x82
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [0x76d14c]
sub esp, 0x10
mov edi, eax
mov eax, 0x14de
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a80
mov edx, ebx
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x464df0
sub edx, ebx
mov eax, ebx
sar edx, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x464e00
sub eax, ebx
sar eax, 1
cmp edi, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14df
call fcn.0045b740
lea eax, [ebp - 0xcb4]
shr eax, 0x10
mov dword [ebp - 0x12d4], eax
je 0x465980
lea eax, [ebp - 0xcb4]
mov dword [esp + 4], 0xffffffff
mov edi, 0x599fac
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x464e81
mov edx, 0xffffffff
lea eax, [ebp - 0xcb4]
call fcn.0045b2d0
mov edi, eax
mov eax, ebx
shr eax, 0x10
je 0x465960
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x599fac
sub esp, 8
test eax, eax
jne 0x464eb7
mov edx, 0xffffffff
mov eax, ebx
call fcn.0045b2d0
mov edx, eax
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12dc], edx
mov dword [esp + 4], eax
mov eax, dword [sym.imp.kernel32.dll_lstrcmpiW]
mov dword [esp], ebx
mov dword [ebp - 0x12d8], eax
call eax
sub esp, 8
test eax, eax
mov dword [esp + 0xc], edi
sete al
mov edx, dword [ebp - 0x12dc]
lea edi, [ebp - 0xcb4]
movzx eax, al
mov dword [esp + 4], 0x59a0b4
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0045bef0
mov ecx, 0x82
mov eax, 0x11111111
cmp word [ebp - 0x8a4], 0
rep stosd dword es:[edi], eax
mov edx, dword [0x76d14c]
je 0x4659c0
mov eax, ebx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x464f30
sub eax, ebx
sar eax, 1
sub eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call edx
sub esp, 0x10
mov edi, eax
mov eax, 0x14e4
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x4659d0
mov edx, ebx
add edx, 2
cmp word [edx], 0
jne 0x464f80
sub edx, ebx
mov eax, ebx
sar edx, 1
add edx, 1
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x464f98
sub eax, ebx
sar eax, 1
add eax, 1
cmp edi, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], edi
lea edi, [ebp - 0xcb4]
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14e5
call fcn.0045b740
mov dword [esp + 4], str.Result_path_was_modified_n
xor eax, eax
cmp word [ebp - 0xcb4], 0x1111
sete al
mov dword [esp], eax
call fcn.0045bef0
mov ecx, 0x82
mov eax, 0x11111111
cmp word [ebp - 0x8a4], 0
rep stosd dword es:[edi], eax
mov edx, dword [0x76d14c]
je 0x4659e0
mov eax, ebx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x465020
sub eax, ebx
sar eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call edx
sub esp, 0x10
mov edi, eax
mov eax, 0x14e9
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x4659f0
mov edx, ebx
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x465070
sub edx, ebx
mov eax, ebx
sar edx, 1
add edx, 1
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x465088
sub eax, ebx
sar eax, 1
add eax, 1
cmp edi, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], edi
lea edi, [ebp - 0xcb4]
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14ea
call fcn.0045b740
mov dword [esp + 4], str.Result_path_was_modified_n
xor eax, eax
cmp word [ebp - 0xcb4], 0x1111
sete al
mov dword [esp], eax
call fcn.0045bef0
mov ecx, 0x82
mov eax, 0x11111111
cmp word [ebp - 0x8a4], 0
rep stosd dword es:[edi], eax
mov edx, dword [0x76d14c]
je 0x465a00
mov eax, ebx
lea esi, [esi]
nop
add eax, 2
cmp word [eax], 0
jne 0x465110
sub eax, ebx
sar eax, 1
add eax, 1
mov dword [esp + 8], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call edx
sub esp, 0x10
mov edi, eax
mov eax, 0x14ee
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a10
mov edx, ebx
add edx, 2
cmp word [edx], 0
jne 0x465160
sub edx, ebx
mov eax, ebx
sar edx, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x465170
sub eax, ebx
sar eax, 1
cmp edi, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14ef
call fcn.0045b740
mov dword [esp + 4], str.Result_path_was_not_modified_n
xor eax, eax
cmp word [ebp - 0xcb4], 0x1111
setne al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14f0
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a20
mov eax, ebx
nop
add eax, 2
cmp word [eax], 0
jne 0x4651e0
sub eax, ebx
sar eax, 1
mov dword [esp + 4], str.Expected_nullterminated_string_n
cmp word [ebp + eax*2 - 0xcb4], 0
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14f1
call fcn.0045b740
cmp word [ebp - 0x8a4], 0
je 0x465a30
mov eax, ebx
lea esi, [esi]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x465230
sub eax, ebx
sar eax, 1
add eax, 1
mov dword [esp + 4], str.Buffer_overflow_n
cmp word [ebp + eax*2 - 0xcb4], 0x1111
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0045bef0
lea eax, [ebp - 0xaac]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_GetVolumePathNameW]
sub esp, 0xc
mov ebx, eax
mov eax, 0x14f4
call fcn.0045b740
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x12dc], edx
mov dword [esp], ebx
lea ebx, [ebp - 0x688]
mov dword [esp + 8], eax
mov dword [esp + 4], str.GetVolumePathNameW_error__lu_n
call fcn.0045bef0
lea eax, [ebp - 0xaac]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x136
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetVolumeNameForVolumeMountPointW]
sub esp, 0xc
mov edi, eax
mov eax, 0x14f6
call fcn.0045b740
mov edx, dword [ebp - 0x12dc]
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.GetVolumeNameForVolumeMountPointW_error__lu_n
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0045bef0
cmp word [ebp - 0xaac], 0
je 0x465ab0
lea eax, [ebp - 0xaac]
nop
add eax, 2
cmp word [eax], 0
jne 0x465310
lea ecx, [ebp - 0xaac]
sub eax, ecx
add eax, esi
cmp word [ebp - 0x688], 0
mov ecx, ebx
je 0x465339
nop
add ecx, 2
cmp word [ecx], 0
jne 0x465330
xor edx, edx
lea esi, [esi]
nop
movzx edi, word [eax + edx]
mov word [ecx + edx], di
add edx, 2
test di, di
jne 0x465340
mov eax, 0x11111111
mov ecx, 0x82
lea edi, [ebp - 0xcb4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [0x76d14c]
sub esp, 0x10
mov edi, eax
mov eax, 0x14fc
call fcn.0045b740
cmp word [ebp - 0x688], 0
je 0x465ac0
mov edx, ebx
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4653b0
sub edx, ebx
mov eax, ebx
sar edx, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x4653c0
sub eax, ebx
sar eax, 1
cmp edi, eax
mov dword [esp + 0xc], edi
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x14fd
call fcn.0045b740
mov edi, dword [ebp - 0x12d4]
test edi, edi
je 0x465930
lea eax, [ebp - 0xcb4]
mov dword [esp + 4], 0xffffffff
mov edi, 0x599fac
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x46543a
mov edx, 0xffffffff
lea eax, [ebp - 0xcb4]
call fcn.0045b2d0
mov edi, eax
mov eax, ebx
shr eax, 0x10
je 0x465910
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x599fac
sub esp, 8
test eax, eax
jne 0x465470
mov edx, 0xffffffff
mov eax, ebx
call fcn.0045b2d0
mov edx, eax
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12dc], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0x12d8]
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x12dc]
movzx eax, al
mov dword [esp + 4], 0x59a0b4
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0045bef0
cmp word [ebp - 0xaac], 0
je 0x465a90
lea ebx, [ebp - 0xaac]
lea esi, [esi]
nop
add ebx, 2
cmp word [ebx], 0
jne 0x4654d0
lea eax, [ebp - 0xaac]
sub ebx, eax
sub ebx, 2
mov eax, 0x11111111
mov ecx, 0x82
lea edi, [ebp - 0xcb4]
add ebx, esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [0x76d14c]
sub esp, 0x10
mov esi, eax
mov eax, 0x1504
call fcn.0045b740
cmp word [ebx], 0
je 0x465aa0
mov edx, ebx
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x465540
sub edx, ebx
mov eax, ebx
sar edx, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x465550
sub eax, ebx
sar eax, 1
cmp esi, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1505
call fcn.0045b740
mov ecx, dword [ebp - 0x12d4]
test ecx, ecx
je 0x4658d8
lea eax, [ebp - 0xcb4]
mov dword [esp + 4], 0xffffffff
mov esi, 0x599fac
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4655ca
mov edx, 0xffffffff
lea eax, [ebp - 0xcb4]
call fcn.0045b2d0
mov esi, eax
mov eax, ebx
shr eax, 0x10
je 0x465868
mov dword [esp + 4], 0xffffffff
mov edi, 0x599fac
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x465600
mov edx, 0xffffffff
mov eax, ebx
call fcn.0045b2d0
mov edi, eax
lea eax, [ebp - 0xcb4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d8]
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 + 4], 0x59a0b4
mov dword [esp], eax
call fcn.0045bef0
cmp word [ebp - 0xaac], 0
je 0x4659b0
lea eax, [ebp - 0xaac]
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x465650
lea esi, [ebp - 0xaac]
sub eax, esi
sar eax, 1
sub eax, 1
xor edx, edx
lea esi, [ebp - 0x41c]
mov word [ebp + eax*2 - 0xaac], dx
lea eax, [ebp - 0xaac]
mov dword [esp + 8], 0x208
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_QueryDosDeviceW]
sub esp, 0xc
mov edi, eax
mov eax, 0x150a
call fcn.0045b740
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.QueryDosDeviceW_error__lu_n
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0045bef0
cmp word [ebp - 0x41c], 0
mov edx, esi
je 0x4656d9
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x4656d0
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4656e0
mov eax, 0x11111111
mov ecx, 0x82
lea edi, [ebp - 0xcb4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xcb4]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [0x76d14c]
sub esp, 0x10
mov ebx, eax
mov eax, 0x1510
call fcn.0045b740
cmp word [ebp - 0x41c], 0
je 0x465ad0
mov edx, esi
lea esi, [esi]
add edx, 2
cmp word [edx], 0
jne 0x465750
sub edx, esi
mov eax, esi
sar edx, 1
nop
add eax, 2
cmp word [eax], 0
jne 0x465760
sub eax, esi
sar eax, 1
cmp ebx, eax
mov dword [esp + 8], edx
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_length__u__got__lu_n
mov dword [esp], eax
call fcn.0045bef0
mov eax, 0x1511
call fcn.0045b740
mov eax, dword [ebp - 0x12d4]
test eax, eax
je 0x465888
lea eax, [ebp - 0xcb4]
mov dword [esp + 4], 0xffffffff
mov ebx, 0x599fac
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4657da
mov edx, 0xffffffff
lea eax, [ebp - 0xcb4]
call fcn.0045b2d0
mov ebx, eax
mov eax, esi
shr eax, 0x10
je 0x4658b8
mov dword [esp + 4], 0xffffffff
mov edi, 0x599fac
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x465810
mov edx, 0xffffffff
mov eax, esi
call fcn.0045b2d0
mov edi, eax
lea eax, [ebp - 0xcb4]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x12d8]
call eax
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], 0x59a0b4
call fcn.0045bef0
mov eax, dword [ebp - 0x12d0]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, bx
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edi, eax
jmp 0x465600
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12d4], eax
movzx eax, word [ebp - 0x12d4]
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov ebx, eax
mov eax, esi
shr eax, 0x10
jne 0x4657e5
movzx eax, si
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edi, eax
jmp 0x465810
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12dc], eax
movzx eax, word [ebp - 0x12dc]
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov esi, eax
mov eax, ebx
shr eax, 0x10
jne 0x4655d5
jmp 0x465868
movzx eax, bx
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edx, eax
jmp 0x465470
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12dc], eax
movzx eax, word [ebp - 0x12dc]
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edi, eax
jmp 0x46543a
movzx eax, bx
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edx, eax
jmp 0x464eb7
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0x12d8], eax
movzx eax, word [ebp - 0x12d8]
mov dword [esp], 0x597e04
mov dword [esp + 4], eax
call fcn.0045b760
mov edi, eax
jmp 0x464e81
mov eax, 0xffffffff
jmp 0x465666
mov eax, 0xffffffff
jmp 0x464f40
mov eax, 1
mov edx, 1
jmp 0x464fa8
xor eax, eax
jmp 0x46502d
mov eax, 1
mov edx, 1
jmp 0x465098
mov eax, 1
jmp 0x465120
xor eax, eax
xor edx, edx
jmp 0x46517d
xor eax, eax
jmp 0x4651ed
mov eax, 1
jmp 0x465240
mov ecx, edi
mov eax, 1
mov edx, 2
cmp edi, 1
jne 0x464ca0
jmp 0x464cb5
mov ecx, edi
mov eax, 1
mov edx, 2
cmp edi, 1
jne 0x464d60
jmp 0x464d75
xor eax, eax
xor edx, edx
jmp 0x464e0d
mov ebx, 0xfffffffe
jmp 0x4654e4
xor eax, eax
xor edx, edx
jmp 0x46555d
mov eax, esi
jmp 0x465323
xor eax, eax
xor edx, edx
jmp 0x4653cd
xor eax, eax
xor edx, edx
jmp 0x46576d
mov eax, 0x14af
call fcn.0045b740
mov dword [esp], str.GetFinalPathNameByHandleW_is_missing_n
call fcn.0045bec0
jmp 0x46585a