Function at 0x1004f6a0
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 0x10113ee7
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1f0c
call fcn.1010ecf0
mov eax, dword [0x1013b024]
xor eax, esp
mov dword [esp + 0x1f08], eax
push ebx
push esi
push edi
mov eax, dword [0x1013b024]
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 0x1005032a
cmp edi, 0xffffffff
jle 0x1005032a
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 0x1004f810
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1004f810
sub eax, edx
sar eax, 1
cmp eax, 2
jbe 0x1004f85a
cmp word [esi], 0x5c
jne 0x1004f85a
cmp word [esi + 2], 0x5c
jne 0x1004f85a
call sub.NetworkMgr.dll_CreateNetworkMgr
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 0x1004f864
mov esi, dword [sym.imp.MSVCR80.dll_wcscat_s]
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x6b2], 0x5c
je 0x1004f89b
push 0x1011da4c
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 0x1004f8e3
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 0x1011da4c
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 0x1004f91b
mov ecx, dword [esp + 0x38]
push eax
push 0x64
push ecx
call dword [esp + 0x48]
jmp 0x1005037f
mov esi, dword [esp + 0x14]
call fcn.10030390
test eax, eax
je 0x1004f972
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.10030390
test eax, eax
je 0x1004f972
mov esi, 0x279f1050
push 0x279f
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.BRERR_NOT_SUPPORT_NET2NET
call fcn.100015b0
add esp, 8
jmp 0x1005032a
mov esi, dword [esp + 0x14]
call fcn.10030390
test eax, eax
je 0x1004f99c
test esi, esi
je 0x1004f98f
lea edx, [esp + 0xccc]
call fcn.1004f3e0
mov eax, dword [esp + 0x50]
push 0
push eax
mov eax, dword [esp + 0x50]
jmp 0x1004f9f8
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.10030390
test eax, eax
je 0x1004fa0c
mov edx, dword [ebx]
mov eax, dword [edx + 0xa4]
push 0
push 0
push edi
mov ecx, ebx
call eax
test eax, eax
je 0x1004f9e7
mov esi, eax
lea edx, [esp + 0xccc]
call fcn.1004f3e0
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 0x1005016a
mov eax, dword [ebx]
mov edx, dword [eax + 0x38]
push edi
mov ecx, ebx
call edx
test eax, eax
je 0x1004fa73
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 0x1004fab4
push 0x27b0
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
call fcn.1002ef80
add esp, 4
push eax
push str.OpenImg_param___BRWCHAR_wszTaskPasswd_
call fcn.100015b0
add esp, 8
jmp 0x1005032a
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 0x1004fab4
push 0x27b4
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
call fcn.1002ef80
add esp, 4
push eax
push str.OpenImg_param_
call fcn.100015b0
add esp, 8
jmp 0x1005032a
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 0x10122d54
push eax
call dword [sym.imp.MSVCR80.dll_wcsstr]
add esp, 8
test eax, eax
je 0x1004fb28
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 0x1004fc67
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.10004030
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.10003370
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 0x1004fd2e
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 0x1004fc52
cmp eax, 1
jg 0x1004fd70
jl 0x1004fc52
test ecx, ecx
ja 0x1004fd70
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
add edi, 1
call eax
cmp edi, eax
jb 0x1004fb75
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 0x1004fca0
mov esi, dword [esp + 0x14]
call fcn.10030390
test eax, eax
je 0x1004fce5
call sub.NetworkMgr.dll_CreateNetworkMgr
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 0x1004fd93
mov esi, 0x27eb1041
push 0x27eb
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.BRERR_FLR_TARGET_UNWRITEABLE
jmp 0x1004fd4f
mov esi, 0x27cd1021
push 0x27cd
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.BRERR_FILE_IS_OPENING
call fcn.100015b0
add esp, 8
lea ebx, [esp + 0x1c]
mov dword [esp + 0x1f28], 0xffffffff
call fcn.100035d0
jmp 0x1005032a
mov esi, 0x1042
push 0x27d7
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.BRERR_FLB_FATFS_NOT_SUPPORT_MORE_THAN_4GB
jmp 0x1004fd4f
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
cmp edx, eax
ja 0x1004fdce
jb 0x1004fdab
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x2c]
jae 0x1004fdce
mov esi, 0xc9
push 0x27ef
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.E_NTFS_NOT_ENOUGH_SPACE
jmp 0x1004fd4f
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.1010ed30
mov esi, dword [esp + 0x40]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10050013
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 0x10050013
test esi, esi
je 0x10050013
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.10018cc0
mov eax, dword [eax + 0x14]
lea ebx, [eax - 1]
call fcn.10018cc0
cmp dword [eax + 0x18], 8
jb 0x1004fea4
mov eax, dword [eax + 4]
jmp 0x1004fea7
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 0x1004fedf
mov eax, 0x5c
jmp 0x1004fed0
cmp word [esp + ebx*2 + 0x16f4], ax
je 0x1004fedf
sub ebx, 1
jne 0x1004fed0
lea eax, [esp + 0x8bc]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1004fef0
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 0x1004ff10
sub eax, esi
sar eax, 1
add edx, eax
cmp edx, 0x104
sbb ecx, ecx
neg ecx
je 0x1004ffd2
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 0x1004ffac
lea ecx, [esp + 0x8bc]
call fcn.100303c0
mov ecx, dword [esp + 0x18]
push 0
push ecx
lea edx, [esp + 0x70]
push edx
push 0x1004f3a0
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 0x1004fe11
mov esi, 0x280a1027
push 0x280a
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], esi
call fcn.1002ef80
add esp, 4
push eax
push str.BRERR_FILE_EXISTS
jmp 0x1004fd4f
push 0x2805
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], 0x28051051
call fcn.1002ef80
add esp, 4
mov esi, eax
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push 0x28051051
push str.lDir_MAX_PATH
push str._s_return_code:_0x_08X___s.
push eax
call edx
add esp, 0x14
jmp 0x1004fd57
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x1005005a
push 0x2816
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], 0x17
call fcn.1002ef80
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 0x1004fd57
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x13
jne 0x100500a6
push 0x281a
mov edi, str.E:AMWork_branchesBRCloudv2_srcUiLogicUiRecord.cpp
mov dword [esp + 0x14], 0x281a1041
call fcn.1002ef80
add esp, 4
mov esi, eax
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push 0x281a1041
push str.BRERR_FLR_TARGET_UNWRITEABLE
push str._s_return_code:_0x_08X___s.
push eax
call edx
add esp, 0x14
jmp 0x1004fd57
test esi, esi
je 0x100503a5
xor edi, edi
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x20]
test esi, esi
je 0x1005010c
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 0x1005010c
cmp dword [esi + edi + 0x18], 8
jb 0x100500f7
mov esi, dword [esi + edi + 4]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add dword [esp + 0x10], 1
add edi, 0x1c
jmp 0x100500b4
lea esi, [esi + edi + 4]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add dword [esp + 0x10], 1
add edi, 0x1c
jmp 0x100500b4
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 0x10050152
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.10004030
lea eax, [esp + 0xac4]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ebx, [esp + 0x1c]
mov dword [esp + 0x1f28], 0xffffffff
call fcn.100035d0
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 0x10050173
sub eax, edx
sar eax, 1
cmp eax, 2
jbe 0x1005027c
cmp word [esi], 0x5c
jne 0x1005027c
cmp word [esi + 2], 0x5c
jne 0x1005027c
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.1002f030
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.1004c720
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x10050326
mov ecx, str.Image
call fcn.1007d8b0
cmp eax, edi
je 0x1005031e
push eax
mov ecx, ebx
mov eax, str.path
call fcn.1007dca0
mov eax, dword [esi + 0x34]
call fcn.1007e0d0
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.1010dc50
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.100035d0
jmp 0x1005037f