Function at 0x407d40
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49bd96
mov eax, dword fs:[0]
push eax
sub esp, 0x1b4
mov eax, dword [0x4c6374]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push str._scldr
mov edx, edi
lea ecx, [ebp - 0x1a8]
call fcn.0040c1a0
mov esi, eax
lea eax, [edi + 0x30]
mov dword [ebp - 4], 0
push str._scldr
mov edx, eax
mov dword [ebp - 0x178], eax
lea ecx, [ebp - 0x15c]
call fcn.0040c1a0
add esp, 8
cmp dword [esi + 0x14], 8
jb 0x407db1
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x407db9
mov eax, dword [eax]
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 3
push esi
push eax
call ebx
test eax, eax
mov eax, dword [ebp - 0x148]
sete byte [ebp - 0x141]
cmp eax, 8
jb 0x407dec
inc eax
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x15c]
call fcn.0040f5b0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x148], 7
mov dword [ebp - 0x14c], 0
cmp eax, 8
jb 0x407e2e
inc eax
lea ecx, [ebp - 0x1a8]
push eax
push dword [ebp - 0x1a8]
call fcn.0040f5b0
cmp byte [ebp - 0x141], 0
je 0x408085
push 0x98
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.004793f0
add esp, 4
lea ecx, [ebp - 0xa8]
call fcn.00408c30
push str._scldr
mov edx, edi
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a8]
call fcn.0040c1a0
mov edi, eax
mov edx, dword [ebp - 0x178]
lea ecx, [ebp - 0x15c]
push str._scldr
mov byte [ebp - 4], 2
call fcn.0040c1a0
add esp, 8
mov esi, eax
mov edx, str.MoveFileEx_Error:
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.0040b820
mov edx, str.SRC:
mov ecx, eax
call fcn.0040b820
mov edx, esi
mov ecx, eax
call fcn.0040be40
mov edx, str.DST:
mov ecx, eax
call fcn.0040b820
mov edx, edi
mov ecx, eax
call fcn.0040be40
mov eax, dword [ebp - 0x148]
cmp eax, 8
jb 0x407ef2
inc eax
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x15c]
call fcn.0040f5b0
xor eax, eax
mov byte [ebp - 4], 1
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x148], 7
mov dword [ebp - 0x14c], 0
cmp eax, 8
jb 0x407f31
inc eax
lea ecx, [ebp - 0x1a8]
push eax
push dword [ebp - 0x1a8]
call fcn.0040f5b0
push 0x16
push str.CBackRestore::FileMove
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x17c], 0xf
mov dword [ebp - 0x180], 0
mov byte [ebp - 0x190], 0
call fcn.0040f450
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x174]
push 0xd
push str.BaRestore.cpp
mov dword [ebp - 0x160], 0xf
mov dword [ebp - 0x164], 0
mov byte [ebp - 0x174], 0
call fcn.0040f450
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xa8]
call fcn.00408b50
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 6
push eax
push 0x128
lea eax, [ebp - 0x174]
push eax
push ecx
call fcn.0041f440
mov ecx, eax
call fcn.0041f910
mov eax, dword [ebp - 0x148]
cmp eax, 8
jb 0x407fe8
inc eax
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x15c]
call fcn.0040f5b0
xor eax, eax
mov dword [ebp - 0x148], 7
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x14c], 0
cmp eax, 0x10
jb 0x408023
inc eax
lea ecx, [ebp - 0x174]
push eax
push dword [ebp - 0x174]
call fcn.0040f330
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x160], 0xf
mov dword [ebp - 0x164], 0
mov byte [ebp - 0x174], 0
cmp eax, 0x10
jb 0x40805c
inc eax
lea ecx, [ebp - 0x190]
push eax
push dword [ebp - 0x190]
call fcn.0040f330
lea ecx, [ebp - 0x58]
call fcn.00408b70
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 7
push eax
mov dword [ebp - 0x58], vtable.std::ios_base.0
call fcn.0042f0f8
add esp, 4
xor al, al
jmp 0x40838b
push str._scldr.mbr
mov edx, edi
lea ecx, [ebp - 0x1a8]
call fcn.0040c1a0
mov esi, eax
push str._scldr.mbr
lea edx, [edi + 0x30]
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x15c]
call fcn.0040c1a0
add esp, 8
cmp dword [esi + 0x14], 8
jb 0x4080be
mov esi, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x4080c6
mov eax, dword [eax]
push 3
push esi
push eax
call ebx
test eax, eax
mov eax, dword [ebp - 0x148]
sete bl
cmp eax, 8
jb 0x4080ef
inc eax
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x15c]
call fcn.0040f5b0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x148], 7
mov dword [ebp - 0x14c], 0
cmp eax, 8
jb 0x408131
inc eax
lea ecx, [ebp - 0x1a8]
push eax
push dword [ebp - 0x1a8]
call fcn.0040f5b0
test bl, bl
je 0x408389
push 0x98
lea eax, [ebp - 0x140]
push 0
push eax
call fcn.004793f0
add esp, 4
lea ecx, [ebp - 0x140]
call fcn.00408c30
push str._scldr.mbr
mov edx, edi
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x1a8]
call fcn.0040c1a0
mov edi, eax
mov edx, dword [ebp - 0x178]
lea ecx, [ebp - 0x15c]
push str._scldr.mbr
mov byte [ebp - 4], 0xa
call fcn.0040c1a0
add esp, 8
mov esi, eax
mov edx, str.MoveFileEx_Error:
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x140]
call fcn.0040b820
mov edx, str.SRC:
mov ecx, eax
call fcn.0040b820
mov edx, esi
mov ecx, eax
call fcn.0040be40
mov edx, str.DST:
mov ecx, eax
call fcn.0040b820
mov edx, edi
mov ecx, eax
call fcn.0040be40
mov eax, dword [ebp - 0x148]
cmp eax, 8
jb 0x4081f0
inc eax
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x15c]
call fcn.0040f5b0
xor eax, eax
mov byte [ebp - 4], 9
mov word [ebp - 0x15c], ax
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x148], 7
mov dword [ebp - 0x14c], 0
cmp eax, 8
jb 0x40822f
inc eax
lea ecx, [ebp - 0x1a8]
push eax
push dword [ebp - 0x1a8]
call fcn.0040f5b0
push 0x16
push str.CBackRestore::FileMove
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x17c], 0xf
mov dword [ebp - 0x180], 0
mov byte [ebp - 0x190], 0
call fcn.0040f450
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x174]
push 0xd
push str.BaRestore.cpp
mov dword [ebp - 0x160], 0xf
mov dword [ebp - 0x164], 0
mov byte [ebp - 0x174], 0
call fcn.0040f450
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x140]
call fcn.00408b50
push eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0xe
push eax
push 0x12e
lea eax, [ebp - 0x174]
push eax
push ecx
call fcn.0041f440
mov ecx, eax
call fcn.0041f910
mov eax, dword [ebp - 0x1ac]
cmp eax, 8
jb 0x4082e6
inc eax
lea ecx, [ebp - 0x1c0]
push eax
push dword [ebp - 0x1c0]
call fcn.0040f5b0
xor eax, eax
mov dword [ebp - 0x1ac], 7
mov word [ebp - 0x1c0], ax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1b0], 0
cmp eax, 0x10
jb 0x408321
inc eax
lea ecx, [ebp - 0x174]
push eax
push dword [ebp - 0x174]
call fcn.0040f330
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x160], 0xf
mov dword [ebp - 0x164], 0
mov byte [ebp - 0x174], 0
cmp eax, 0x10
jb 0x40835a
inc eax
lea ecx, [ebp - 0x190]
push eax
push dword [ebp - 0x190]
call fcn.0040f330
lea ecx, [ebp - 0xf0]
call fcn.00408b70
lea eax, [ebp - 0xf0]
mov dword [ebp - 4], 0xf
push eax
mov dword [ebp - 0xf0], vtable.std::ios_base.0
call fcn.0042f0f8
add esp, 4
xor al, al
jmp 0x40838b
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00475cda
mov esp, ebp
pop ebp
ret