Function at 0x10036770
Capabilities:
Delete file
Move file

Disassembly:
push 0xffffffffffffffff
push 0x1003b100
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3ac
push ebx
push ebp
push esi
lea eax, [esp + 0x34]
push edi
push eax
xor esi, esi
push 0x63
mov edi, ecx
push 0x188b1
mov dword [esp + 0x34], esi
mov dword [esp + 0x44], esi
call fcn.100387e0
add esp, 0xc
test al, al
jne 0x100367cb
mov esi, dword [esp + 0x3cc]
push 0x1004539c
mov ecx, esi
call sub.mfc42u.dll_CString::CString_3
jmp 0x10036ecb
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x38]
push 0xe55ed9
push ecx
push edx
call fcn.100388c0
lea eax, [esp + 0x44]
push eax
call fcn.10038840
add esp, 0x10
mov ebx, 1
lea ecx, [esp + 0x7c]
push esi
push 0x10044f30
push 0x204
push esi
push 0x10044f28
push ebx
call sub.mfc42u.dll_CFileDialog::CFileDialog
lea ecx, [esp + 0x7c]
mov dword [esp + 0x3c4], ebx
call sub.mfc42u.dll_CFileDialog::DoModal
cmp eax, ebx
je 0x1003684a
mov esi, dword [esp + 0x3cc]
push 0x1004539c
mov ecx, esi
call sub.mfc42u.dll_CString::CString_3
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c4], 2
jmp 0x10036eae
lea ecx, [esp + 0x10]
call fcn.10037df8
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0x3ff00000
call fcn.10037df8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c4], 4
call fcn.10037df8
mov eax, dword [esp + 0xf8]
mov byte [esp + 0x3c4], 5
cmp eax, esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x44], eax
je 0x10036998
mov ebp, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x3d4]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x48]
push ecx
push edx
lea ecx, [esp + 0x84]
call sub.mfc42u.dll_CFileDialog::GetNextPathName
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c8], 6
call fcn.10037e3a
lea ecx, [esp + 0x48]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
mov eax, dword [esp + 0x18]
push 0x5c
lea ecx, [esp + 0x1c]
mov esi, dword [eax - 8]
call sub.mfc42u.dll_CString::ReverseFind
sub esi, eax
lea ecx, [esp + 0x30]
dec esi
push esi
push ecx
lea ecx, [esp + 0x20]
call sub.mfc42u.dll_CString::Right
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c8], 7
call sub.mfc42u.dll_CString::operator
lea ecx, [esp + 0x30]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
push 0x7c
lea ecx, [esp + 0x20]
call fcn.10037ec4
mov edx, dword [ebx]
mov esi, dword [ebp]
push 0x10044f20
push edx
call dword [sym.imp.msvcrt.dll_wcscmp]
add esp, 8
lea ecx, [esp + 0x10]
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3dc]
push edx
mov edx, dword [edi + 0x44]
push esi
push ecx
mov ecx, dword [esp + 0x28]
push edx
test eax, eax
sete al
push 0
push eax
push ecx
call dword [edi + 0x54]
mov esi, eax
test esi, esi
jne 0x100369e0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
inc ecx
test eax, eax
mov dword [esp + 0x2c], ecx
jne 0x100368b2
mov ebx, 1
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
push edx
call sub.mfc42u.dll_CString::CString_1
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c4], 9
call fcn.10037df8
push 0x10044f14
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c8], 0xa
call sub.mfc42u.dll_CString::Find
cmp eax, 0xffffffff
je 0x10036a6a
push 0x10044f14
jmp 0x10036a86
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.kernel32.dll_DeleteFileW]
push esi
lea eax, [esp + 0x14]
push 0x10044efc
push eax
call sub.mfc42u.dll_CString::Format
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push 0
push 0
push ecx
call sub.mfc42u.dll_AfxMessageBox
mov esi, dword [esp + 0x3cc]
push 0x1004539c
mov ecx, esi
call sub.mfc42u.dll_CString::CString_3
lea ecx, [esp + 0x1c]
mov dword [esp + 0x28], 1
mov byte [esp + 0x3c4], 4
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c4], 1
call sub.mfc42u.dll_CString::CString
mov dword [esp + 0x3c4], 8
jmp 0x10036eae
push 0x10044ef0
lea ecx, [esp + 0x18]
call sub.mfc42u.dll_CString::Find
cmp eax, 0xffffffff
je 0x10036e37
push 0x10044ef0
lea ecx, [esp + 0x24]
call fcn.10037df2
mov eax, dword [esp + 0x20]
push 0x10044ee4
push eax
lea ecx, [esp + 0x1c]
call sub.mfc42u.dll_CString::Replace
mov al, byte [esp + 0x3d0]
test al, al
je 0x10036bf2
lea ecx, [esp + 0x14]
call sub.mfc42u.dll_CString::MakeLower
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push 3
push ecx
push edx
call dword [sym.imp.kernel32.dll_MoveFileExW]
test eax, eax
jne 0x10036b55
call fcn.10036730
mov esi, dword [esp + 0x3cc]
push 0x1004539c
mov ecx, esi
call sub.mfc42u.dll_CString::CString_3
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x3c4], 9
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c4], 4
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c4], 1
call sub.mfc42u.dll_CString::CString
mov dword [esp + 0x3c4], 0xc
jmp 0x10036eae
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
lea eax, [esp + 0x20]
push 0x10044ed4
push eax
call sub.mfc42u.dll_CString::Format
mov esi, dword [esp + 0x3e0]
add esp, 0x14
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call sub.mfc42u.dll_CString::CString_1
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x3c4], 9
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c4], 4
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c4], 1
call sub.mfc42u.dll_CString::CString
mov dword [esp + 0x3c4], 0xd
jmp 0x10036eae
lea esi, [edi + 0x58]
call dword [sym.imp.kernel32.dll_GetTickCount]
push eax
push 0x10044e94
push esi
call sub.mfc42u.dll_CString::Format
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.10037df8
mov edx, dword [esi]
lea eax, [esp + 0x34]
push edx
push 0x10044e30
push eax
mov byte [esp + 0x3d0], 0xe
call sub.mfc42u.dll_CString::Format
mov ebp, dword [sym.imp.oleaut32.dll_VariantInit]
add esp, 0xc
lea ecx, [esp + 0x6c]
push ecx
call ebp
mov edx, dword [esp + 0x34]
mov esi, dword [sym.imp.oleaut32.dll_SysAllocString]
mov ebx, 8
push edx
mov word [esp + 0x70], bx
call esi
mov dword [esp + 0x74], eax
lea eax, [esp + 0x5c]
push eax
call ebp
push 0x10044e24
mov word [esp + 0x60], bx
call esi
lea ecx, [esp + 0x24]
mov dword [esp + 0x64], eax
call fcn.10037df8
mov ecx, dword [esp + 0x3e0]
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x3c8], 0xf
mov eax, dword [ecx]
mov ecx, edi
push eax
push 0x10044e14
call fcn.100363b0
mov ecx, dword [edi + 0x48]
lea eax, [esp + 0x24]
push eax
push ecx
push 0x10044e04
mov ecx, edi
call fcn.10036430
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x24]
push edx
push eax
push ecx
push 0x10044df4
mov ecx, edi
call fcn.100364b0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x24]
push edx
push eax
push 0x10044de4
mov ecx, edi
call fcn.10036430
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov ecx, edi
call fcn.10036530
mov esi, eax
test esi, esi
je 0x10036d9a
lea ecx, [esp + 0x4c]
push ecx
call ebp
mov word [esp + 0x4c], 0x2011
mov dword [esp + 0x54], esi
call sub.mfc42u.dll_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.mfc42u.dll_CCmdTarget::BeginWaitCursor
lea edx, [esp + 0x30]
mov bl, 0x10
push edx
mov ecx, edi
mov byte [esp + 0x3c8], bl
call fcn.10036320
mov eax, dword [eax]
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x50]
lea ecx, [esp + 0x60]
push edx
push ecx
push 0
push eax
mov ecx, edi
mov byte [esp + 0x3d8], 0x11
call fcn.100362e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x3c4], bl
call sub.mfc42u.dll_CString::CString
mov edx, dword [esp + 0x10]
mov byte [edi + 0x40], 1
push edx
call dword [sym.imp.kernel32.dll_DeleteFileW]
push esi
mov word [esp + 0x50], 0
call dword [sym.imp.oleaut32.dll_SafeArrayDestroy]
mov byte [esp + 0x3c4], 0xf
call sub.mfc42u.dll_AfxGetModuleState
mov ecx, dword [eax + 4]
call sub.mfc42u.dll_CCmdTarget::EndWaitCursor
mov esi, dword [esp + 0x3cc]
lea ecx, [esp + 0x7c]
push esi
call sub.mfc42u.dll_CFileDialog::GetPathName
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], 1
mov byte [esp + 0x3c4], 0xe
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x3c4], 0xa
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c4], 9
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c4], 4
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c4], 1
call sub.mfc42u.dll_CString::CString
mov dword [esp + 0x3c4], 0x12
jmp 0x10036eae
mov esi, dword [esp + 0x3cc]
push 0x1004539c
mov ecx, esi
call sub.mfc42u.dll_CString::CString_3
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x3c4], 9
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c4], 5
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c4], 4
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c4], 3
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c4], 1
call sub.mfc42u.dll_CString::CString
mov dword [esp + 0x3c4], 0xb
lea ecx, [esp + 0x12c]
call sub.mfc42u.dll_CString::CString
lea ecx, [esp + 0x7c]
mov byte [esp + 0x3c4], 0
call fcn.10037dec
mov ecx, dword [esp + 0x3bc]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3b8
ret 0x1c