Function at 0x1004fd10
Capabilities:
Check if file exists
Copy file
Delete directory
Delete file
Get disk information
Get disk size
Get file attributes
Get file size
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10140c47
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1f0c
call fcn.1012e520
mov eax, dword [0x10170024]
xor eax, esp
mov dword [esp + 0x1f08], eax
push ebx
push esi
push edi
mov eax, dword [0x10170024]
xor eax, esp
push eax
lea eax, [esp + 0x1f20]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
mov ebx, ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x1c]
xor edi, edi
push 0x206
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x24]
lea eax, [esp + 0x1902]
push edi
push eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], edi
mov word [esp + 0x1908], di
call sub.MSVCR80.dll_memset
add esp, 0xc
call sub.EnumFolder.dll_CreateEnumRemoteFolder
push 0x206
lea ecx, [esp + 0xcd2]
push edi
push ecx
mov dword [esp + 0x50], eax
mov word [esp + 0xcd8], di
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x206
lea edx, [esp + 0x12ea]
push edi
push edx
mov word [esp + 0x12f0], di
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x206
lea eax, [esp + 0x14f2]
push edi
push eax
mov word [esp + 0x14f8], di
call sub.MSVCR80.dll_memset
mov edx, dword [ebx]
mov eax, dword [edx + 0x104]
add esp, 0xc
mov ecx, ebx
call eax
mov edi, dword [ebp + 8]
cmp edi, eax
jge 0x1005099a
cmp edi, 0xffffffff
jle 0x1005099a
push 0x206
lea ecx, [esp + 0x6ba]
push 0
push ecx
mov dword [esp + 0x4c], 1
mov word [esp + 0x6c0], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
push esi
lea edx, [esp + 0x6b8]
push 0x104
push edx
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
mov eax, esi
add esp, 0xc
lea edx, [eax + 2]
jmp 0x1004fe80
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1004fe80
sub eax, edx
sar eax, 1
cmp eax, 2
jbe 0x1004feca
cmp word [esi], 0x5c
jne 0x1004feca
cmp word [esi + 2], 0x5c
jne 0x1004feca
call fcn.1008ce70
lea ecx, [esp + 0x6b4]
mov esi, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
push ecx
mov edx, ecx
push 0x104
push edx
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea eax, [esp + 0x6b4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1004fed4
mov esi, dword [sym.imp.MSVCR80.dll_wcscat_s]
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x6b2], 0x5c
je 0x1004ff0b
push 0x1014bdb4
lea ecx, [esp + 0x6b8]
push 0x104
push ecx
call esi
add esp, 0xc
mov edx, dword [ebx]
mov eax, dword [edx + 0x278]
push edi
mov ecx, ebx
call eax
test eax, eax
je 0x1004ff53
mov edx, dword [ebx]
mov eax, dword [edx + 0x80]
push edi
mov ecx, ebx
call eax
push eax
lea ecx, [esp + 0x6b8]
push 0x104
push ecx
call esi
add esp, 0xc
push 0x1014bdb4
lea edx, [esp + 0x6b8]
push 0x104
push edx
call esi
add esp, 0xc
mov eax, dword [ebx]
mov edx, dword [eax + 0xa4]
push 0
push 0
push edi
mov ecx, ebx
call edx
push eax
lea eax, [esp + 0x6b8]
push eax
call dword [sym.imp.MSVCR80.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x1004ff8b
mov ecx, dword [esp + 0x38]
push eax
push 0x64
push ecx
call dword [esp + 0x48]
jmp 0x100509ef
mov esi, dword [esp + 0x14]
call fcn.10030bf0
test eax, eax
je 0x1004ffe2
mov edx, dword [ebx]
mov eax, dword [edx + 0xa4]
push 0
push 0
push edi
mov ecx, ebx
call eax
mov esi, eax
call fcn.10030bf0
test eax, eax
je 0x1004ffe2
mov esi, 0x27481050
push 0x2748
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.BRERR_NOT_SUPPORT_NET2NET
call fcn.100016d0
add esp, 8
jmp 0x1005099a
mov esi, dword [esp + 0x14]
call fcn.10030bf0
test eax, eax
je 0x1005000c
test esi, esi
je 0x1004ffff
lea edx, [esp + 0xccc]
call fcn.1004fa50
mov eax, dword [esp + 0x50]
push 0
push eax
mov eax, dword [esp + 0x50]
jmp 0x10050068
mov eax, dword [ebx]
mov eax, dword [eax + 0xa4]
lea ecx, [esp + 0x14ec]
push ecx
lea edx, [esp + 0x12e8]
push edx
push edi
mov ecx, ebx
call eax
mov esi, eax
call fcn.10030bf0
test eax, eax
je 0x1005007c
mov edx, dword [ebx]
mov eax, dword [edx + 0xa4]
push 0
push 0
push edi
mov ecx, ebx
call eax
test eax, eax
je 0x10050057
mov esi, eax
lea edx, [esp + 0xccc]
call fcn.1004fa50
lea eax, [esp + 0x14ec]
push 0
push eax
lea eax, [esp + 0x12ec]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
push eax
lea eax, [esp + 0xcd8]
push eax
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0xb0]
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x100507da
mov eax, dword [ebx]
mov edx, dword [eax + 0x38]
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x100500e3
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx]
mov edx, dword [eax + 0xdc]
push ecx
push edi
mov ecx, ebx
call edx
mov esi, eax
movzx eax, si
test eax, eax
mov dword [esp + 0x10], esi
je 0x10050124
push 0x2759
mov edi, str..UiRecord.cpp
call fcn.1002f7d0
add esp, 4
push eax
push str.OpenImg_param___BRWCHAR_wszTaskPasswd_
call fcn.100016d0
add esp, 8
jmp 0x1005099a
mov edx, dword [ebx]
mov eax, dword [edx + 0xdc]
push 0
push edi
mov ecx, ebx
call eax
mov esi, eax
movzx ecx, si
test ecx, ecx
mov dword [esp + 0x10], esi
je 0x10050124
push 0x275d
mov edi, str..UiRecord.cpp
call fcn.1002f7d0
add esp, 4
push eax
push str.OpenImg_param_
call fcn.100016d0
add esp, 8
jmp 0x1005099a
xor esi, esi
push 0x206
lea edx, [esp + 0x10e2]
push esi
push edx
mov dword [esp + 0x1c], esi
mov word [esp + 0x10e8], si
call sub.MSVCR80.dll_memset
mov ecx, dword [esp + 0x20]
add esp, 0xc
push 0x104
lea eax, [esp + 0x10e0]
push eax
push esi
push esi
push esi
push esi
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea edx, [esp + 0x10dc]
push edx
call dword [sym.imp.MSVCR80.dll__wcsupr]
add esp, 4
lea eax, [esp + 0x10dc]
push 0x10151144
push eax
call dword [sym.imp.MSVCR80.dll_wcsstr]
add esp, 8
test eax, eax
je 0x10050198
mov dword [esp + 0x10], 1
xor edi, edi
push 0x206
lea ecx, [esp + 0xaca]
push edi
push ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov word [esp + 0xad0], di
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x1f28], edi
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
jbe 0x100502d7
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x9c]
push eax
push edi
call edx
mov eax, 0x104
lea ecx, [esp + 0x2c0]
lea edx, [esp + 0xac4]
call fcn.100040e0
lea eax, [esp + 0xac4]
push eax
lea ecx, [esp + 0x84]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea ecx, [esp + 0x80]
push ecx
lea esi, [esp + 0x20]
mov byte [esp + 0x1f2c], 1
call fcn.10003480
lea ecx, [esp + 0x80]
mov byte [esp + 0x1f28], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push 0
push 0
push 3
push 0
push 1
push SysReAllocString
lea edx, [esp + 0xadc]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1005039e
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea eax, [esp + 0x54]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x54]
add dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x58]
adc dword [esp + 0x30], eax
cmp dword [esp + 0x10], 0
je 0x100502c2
cmp eax, 1
jg 0x100503e0
jl 0x100502c2
test ecx, ecx
ja 0x100503e0
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
add edi, 1
call eax
cmp edi, eax
jb 0x100501e5
xor esi, esi
push 0x206
lea ecx, [esp + 0xeda]
push esi
push ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov word [esp + 0xee0], si
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xee0]
add esp, 0xc
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, si
jne 0x10050310
mov esi, dword [esp + 0x14]
call fcn.10030bf0
test eax, eax
je 0x10050355
call fcn.1008ce70
mov esi, eax
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0xed4]
push eax
mov ecx, eax
push 0x104
push ecx
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea eax, [esp + 0x5c]
push eax
xor edi, edi
push edi
push edi
lea ecx, [esp + 0xee0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x10050403
mov esi, 0x27941041
push 0x2794
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.BRERR_FLR_TARGET_UNWRITEABLE
jmp 0x100503bf
mov esi, 0x27761021
push 0x2776
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.BRERR_FILE_IS_OPENING
call fcn.100016d0
add esp, 8
lea ebx, [esp + 0x1c]
mov dword [esp + 0x1f28], 0xffffffff
call fcn.100036b0
jmp 0x1005099a
mov esi, 0x1042
push 0x2780
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.BRERR_FLB_FATFS_NOT_SUPPORT_MORE_THAN_4GB
jmp 0x100503bf
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
cmp edx, eax
ja 0x1005043e
jb 0x1005041b
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x2c]
jae 0x1005043e
mov esi, 0xc9
push 0x2798
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.E_NTFS_NOT_ENOUGH_SPACE
jmp 0x100503bf
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
push edi
push 0x64
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x34]
push eax
push edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x88], 2
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], 0x64
call fcn.10139e10
mov esi, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10050683
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x10050683
test esi, esi
je 0x10050683
push 0x206
lea eax, [esp + 0x8c2]
push 0
push eax
mov word [esp + 0x8c8], 0
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [esp + 0x6b4]
push ecx
lea edx, [esp + 0x8c0]
push 0x104
push edx
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
lea esi, [esp + 0x1c]
call fcn.1005b510
mov eax, dword [eax + 0x14]
lea ebx, [eax - 1]
call fcn.1005b510
cmp dword [eax + 0x18], 8
jb 0x10050514
mov eax, dword [eax + 4]
jmp 0x10050517
add eax, 4
push eax
lea eax, [esp + 0x16f8]
push 0x104
push eax
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
test ebx, ebx
je 0x1005054f
mov eax, 0x5c
jmp 0x10050540
cmp word [esp + ebx*2 + 0x16f4], ax
je 0x1005054f
sub ebx, 1
jne 0x10050540
lea eax, [esp + 0x8bc]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10050560
sub eax, edx
sar eax, 1
lea ebx, [esp + ebx*2 + 0x16f6]
mov edx, eax
mov eax, ebx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10050580
sub eax, esi
sar eax, 1
add edx, eax
cmp edx, 0x104
sbb ecx, ecx
neg ecx
je 0x10050642
push ebx
lea edx, [esp + 0x8c0]
push 0x104
push edx
call dword [sym.imp.MSVCR80.dll_wcscat_s]
add esp, 0xc
lea eax, [esp + 0x8bc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1005061c
lea ecx, [esp + 0x8bc]
call fcn.10030c20
mov ecx, dword [esp + 0x18]
push 0
push ecx
lea edx, [esp + 0x70]
push edx
push 0x1004fa10
lea eax, [esp + 0x8cc]
push eax
lea ecx, [esp + 0x1708]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileExW]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x4c]
mov esi, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], 0
add edi, 1
jmp 0x10050481
mov esi, 0x27b31027
push 0x27b3
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002f7d0
add esp, 4
push eax
push str.BRERR_FILE_EXISTS
jmp 0x100503bf
push 0x27ae
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], 0x27ae1051
call fcn.1002f7d0
add esp, 4
mov esi, eax
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push 0x27ae1051
push str.lDir_MAX_PATH
push str._s_return_code:_0x_08X___s.
push eax
call edx
add esp, 0x14
jmp 0x100503c7
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x100506ca
push 0x27bf
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], 0x17
call fcn.1002f7d0
add esp, 4
mov esi, eax
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push 0x17
push str.E_USER_CANCEL
push str._s_return_code:_0x_08X___s.
push eax
call edx
add esp, 0x14
jmp 0x100503c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x13
jne 0x10050716
push 0x27c3
mov edi, str..UiRecord.cpp
mov dword [esp + 0x14], 0x27c31041
call fcn.1002f7d0
add esp, 4
mov esi, eax
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push 0x27c31041
push str.BRERR_FLR_TARGET_UNWRITEABLE
push str._s_return_code:_0x_08X___s.
push eax
call edx
add esp, 0x14
jmp 0x100503c7
test esi, esi
je 0x10050a15
xor edi, edi
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x20]
test esi, esi
je 0x1005077c
mov ecx, dword [esp + 0x24]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x10], eax
jae 0x1005077c
cmp dword [esi + edi + 0x18], 8
jb 0x10050767
mov esi, dword [esi + edi + 4]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add dword [esp + 0x10], 1
add edi, 0x1c
jmp 0x10050724
lea esi, [esi + edi + 4]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add dword [esp + 0x10], 1
add edi, 0x1c
jmp 0x10050724
mov eax, dword [ebx]
mov esi, dword [ebp + 8]
mov edx, dword [eax + 0x278]
push esi
mov ecx, ebx
call edx
test eax, eax
je 0x100507c2
mov eax, dword [ebx]
mov edx, dword [eax + 0xa4]
push 0
push 0
push esi
mov ecx, ebx
call edx
mov ecx, eax
mov eax, 0x104
lea edx, [esp + 0xac4]
call fcn.100040e0
lea eax, [esp + 0xac4]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ebx, [esp + 0x1c]
mov dword [esp + 0x1f28], 0xffffffff
call fcn.100036b0
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100507e3
sub eax, edx
sar eax, 1
cmp eax, 2
jbe 0x100508ec
cmp word [esi], 0x5c
jne 0x100508ec
cmp word [esi + 2], 0x5c
jne 0x100508ec
push 0x206
lea edx, [esp + 0xa2]
push 0
push edx
mov word [esp + 0xa8], cx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x410
lea eax, [esp + 0x2a8]
push 0
push eax
call sub.MSVCR80.dll_memset
mov esi, dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
lea ecx, [esp + 0x6b4]
push ecx
lea edx, [esp + 0xa0]
push 0x104
push edx
call esi
mov eax, dword [esp + 0x54]
add esp, 0xc
push eax
lea ecx, [esp + 0x2a8]
push 0x104
push ecx
call esi
mov edx, dword [esp + 0x5c]
add esp, 0xc
push edx
lea eax, [esp + 0x4b0]
push 0x104
push eax
call esi
mov eax, dword [ebx]
mov ecx, dword [ebp + 8]
add esp, 0xc
push ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x30]
push edx
mov ecx, ebx
call eax
mov edx, dword [eax]
sub esp, 0x618
mov edi, esp
mov ecx, 0x186
lea esi, [esp + 0x6b4]
rep movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x668]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0xa8]
mov ecx, ebx
call eax
push 0x40f
lea ecx, [esp + 0x1b09]
push 0
push ecx
mov byte [esp + 0x1b10], 0
call sub.MSVCR80.dll_memset
lea edx, [esp + 0x6c0]
add esp, 0xc
push edx
mov edi, 0x410
lea ebx, [esp + 0x1b08]
call fcn.1002f8a0
mov esi, dword [esp + 0x50]
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
add esp, 4
push ecx
lea edx, [esp + 0x84]
xor edi, edi
push edx
mov ecx, esi
mov dword [esp + 0x20], edi
call eax
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
push esi
lea edx, [esp + 0x2c]
mov dword [ecx + 0xc], eax
call fcn.1004cd90
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x10050996
mov ecx, str.Image
call fcn.1007d770
cmp eax, edi
je 0x1005098e
push eax
mov ecx, ebx
mov eax, str.path
call fcn.1007db20
mov eax, dword [esi + 0x34]
call fcn.1007df50
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
and eax, 0xffff
push eax
push 0x64
push ecx
call dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x14ec]
push eax
lea ecx, [esp + 0x12e8]
push ecx
lea eax, [esp + 0xcd4]
push eax
mov ecx, esi
call edx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov eax, dword [esi]
push ecx
push edx
mov edx, dword [eax + 0x28]
lea ecx, [esp + 0x1904]
push ecx
mov ecx, esi
call edx
mov ecx, dword [esp + 0x1f20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1f08]
xor ecx, esp
call fcn.1012d370
mov esp, ebp
pop ebp
ret 0x20
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x38]
push eax
push 0x64
push ecx
call dword [esp + 0x48]
lea ebx, [esp + 0x1c]
mov dword [esp + 0x1f28], 0xffffffff
call fcn.100036b0
jmp 0x100509ef