Function at 0x408718
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc44
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov esi, edx
mov edi, eax
xor eax, eax
push ebp
push 0x408aec
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004074c4
test al, al
jne 0x408a85
lea eax, [ebp - 4]
call fcn.00407350
lea edx, [ebp - 0x3b8]
mov eax, dword [ebp - 4]
call fcn.00406c98
mov edx, dword [ebp - 0x3b8]
lea eax, [ebp - 8]
mov ecx, 0x408b04
call fcn.0040332c
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 0
xor eax, eax
push ebp
push 0x408a25
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x408a14
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.0040705c
test al, al
je 0x408808
lea ecx, [ebp - 0xc]
mov edx, 0x408b18
mov eax, dword [ebp - 4]
call fcn.0040861c
mov eax, dword [ebp - 8]
call fcn.004034a4
push eax
push 0
push 0
push 0
call sub.kernel32.dll_WritePrivateProfileStringA
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x1e8]
call fcn.00403e85
mov byte [0x40e033], 0x20
lea eax, [ebp - 0x1e8]
call fcn.0040424f
call fcn.0040264c
mov byte [ebp - 0xd], 1
jmp 0x408813
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403200
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x3b4]
call fcn.00403e85
mov byte [0x40e033], 0x11
lea eax, [ebp - 0x3b4]
call fcn.00404256
call fcn.0040264c
mov byte [ebp - 0xe], 1
mov byte [ebp - 0x19], 0
xor ebx, ebx
cmp byte [ebp - 0xd], 0
je 0x4088d6
jmp 0x4088be
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1e8]
call fcn.0040369c
lea eax, [ebp - 0x1e8]
call fcn.004041ec
call fcn.0040264c
mov bl, 1
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004051fc
cmp dword [ebp - 0x18], 0
je 0x4088a4
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x5b
jne 0x4088a4
mov edx, 0x408b28
mov eax, dword [ebp - 0x14]
call fcn.004051a8
test eax, eax
jne 0x40889e
mov byte [ebp - 0x19], 1
jmp 0x4088a4
cmp byte [ebp - 0x19], 0
jne 0x4088d6
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403674
call fcn.0040432f
call fcn.0040264c
xor ebx, ebx
lea eax, [ebp - 0x1e8]
call fcn.00403f64
call fcn.0040264c
test al, al
je 0x40884e
cmp byte [ebp - 0x19], 0
jne 0x4088f6
mov edx, 0x408b28
lea eax, [ebp - 0x3b4]
call fcn.00403674
call fcn.0040432f
call fcn.0040264c
test esi, esi
je 0x408906
lea edx, [ebp - 0x18]
mov eax, esi
call fcn.004072fc
jmp 0x408913
lea eax, [ebp - 0x18]
mov edx, 0x408b3c
call fcn.00403200
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x3b8]
call fcn.00403200
lea eax, [ebp - 0x3b8]
mov edx, 0x408b48
call fcn.004032e8
lea eax, [ebp - 0x3b8]
push eax
lea edx, [ebp - 0x3bc]
mov eax, edi
call fcn.004072fc
mov edx, dword [ebp - 0x3bc]
pop eax
call fcn.004032e8
mov edx, dword [ebp - 0x3b8]
lea eax, [ebp - 0x3b4]
call fcn.00403674
call fcn.0040432f
call fcn.0040264c
cmp byte [ebp - 0xd], 0
je 0x4089da
test bl, bl
je 0x4089c6
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403674
call fcn.0040432f
call fcn.0040264c
jmp 0x4089c6
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1e8]
call fcn.0040369c
lea eax, [ebp - 0x1e8]
call fcn.004041ec
call fcn.0040264c
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403674
call fcn.0040432f
call fcn.0040264c
lea eax, [ebp - 0x1e8]
call fcn.00403f64
call fcn.0040264c
test al, al
je 0x408990
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408a1b
cmp byte [ebp - 0xe], 0
je 0x4089fd
lea eax, [ebp - 0x3b4]
call fcn.00403f28
call fcn.0040264c
cmp byte [ebp - 0xd], 0
je 0x408a13
lea eax, [ebp - 0x1e8]
call fcn.00403f28
call fcn.0040264c
ret
test esi, esi
je 0x408a94
mov eax, esi
call fcn.004034a4
mov ebx, eax
jmp 0x408a96
xor ebx, ebx
push 5
push ebx
mov eax, edi
call fcn.004034a4
push eax
call sub.kernel32.dll_MoveFileExA
test eax, eax
jne 0x408ab4
mov eax, 0x408b7c
call fcn.00408500
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408af3
lea eax, [ebp - 0x3bc]
mov edx, 2
call fcn.0040318c
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0040318c
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040318c
ret