Function at 0x4080b0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc3c
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 0x4084d9
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00407280
test al, al
jne 0x408425
lea eax, [ebp - 4]
call fcn.00407170
lea edx, [ebp - 0x3b8]
mov eax, dword [ebp - 4]
call fcn.00407020
mov edx, dword [ebp - 0x3b8]
lea eax, [ebp - 8]
mov ecx, 0x4084f0
call fcn.00403454
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 0
xor eax, eax
push ebp
push 0x4083bd
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4083ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00405414
test al, al
je 0x4081a0
lea ecx, [ebp - 0xc]
mov edx, 0x408504
mov eax, dword [ebp - 4]
call fcn.00407fb4
mov eax, dword [ebp - 8]
call fcn.004035cc
push eax
push 0
push 0
push 0
call sub.kernel32.dll_WritePrivateProfileStringA
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x1e8]
call fcn.00403ead
mov byte [0x40c033], 0x20
lea eax, [ebp - 0x1e8]
call fcn.0040439f
call fcn.00402664
mov byte [ebp - 0xd], 1
jmp 0x4081ab
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403328
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x3b4]
call fcn.00403ead
mov byte [0x40c033], 0x11
lea eax, [ebp - 0x3b4]
call fcn.004043a6
call fcn.00402664
mov byte [ebp - 0xe], 1
mov byte [ebp - 0x19], 0
xor ebx, ebx
cmp byte [ebp - 0xd], 0
je 0x40826e
jmp 0x408256
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1e8]
call fcn.0040377c
lea eax, [ebp - 0x1e8]
call fcn.004042e8
call fcn.00402664
mov bl, 1
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004052a0
cmp dword [ebp - 0x18], 0
je 0x40823c
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x5b
jne 0x40823c
mov edx, 0x408514
mov eax, dword [ebp - 0x14]
call fcn.0040524c
test eax, eax
jne 0x408236
mov byte [ebp - 0x19], 1
jmp 0x40823c
cmp byte [ebp - 0x19], 0
jne 0x40826e
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403754
call fcn.004045eb
call fcn.00402664
xor ebx, ebx
lea eax, [ebp - 0x1e8]
call fcn.00403ff0
call fcn.00402664
test al, al
je 0x4081e6
cmp byte [ebp - 0x19], 0
jne 0x40828e
mov edx, 0x408514
lea eax, [ebp - 0x3b4]
call fcn.00403754
call fcn.004045eb
call fcn.00402664
test esi, esi
je 0x40829e
lea edx, [ebp - 0x18]
mov eax, esi
call fcn.0040711c
jmp 0x4082ab
lea eax, [ebp - 0x18]
mov edx, 0x408528
call fcn.00403328
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x3b8]
call fcn.00403328
lea eax, [ebp - 0x3b8]
mov edx, 0x408534
call fcn.00403410
lea eax, [ebp - 0x3b8]
push eax
lea edx, [ebp - 0x3bc]
mov eax, edi
call fcn.0040711c
mov edx, dword [ebp - 0x3bc]
pop eax
call fcn.00403410
mov edx, dword [ebp - 0x3b8]
lea eax, [ebp - 0x3b4]
call fcn.00403754
call fcn.004045eb
call fcn.00402664
cmp byte [ebp - 0xd], 0
je 0x408372
test bl, bl
je 0x40835e
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403754
call fcn.004045eb
call fcn.00402664
jmp 0x40835e
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x1e8]
call fcn.0040377c
lea eax, [ebp - 0x1e8]
call fcn.004042e8
call fcn.00402664
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b4]
call fcn.00403754
call fcn.004045eb
call fcn.00402664
lea eax, [ebp - 0x1e8]
call fcn.00403ff0
call fcn.00402664
test al, al
je 0x408328
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4083b3
cmp byte [ebp - 0xe], 0
je 0x408395
lea eax, [ebp - 0x3b4]
call fcn.00403fb4
call fcn.00402664
cmp byte [ebp - 0xd], 0
je 0x4083ab
lea eax, [ebp - 0x1e8]
call fcn.00403fb4
call fcn.00402664
ret
test esi, esi
je 0x408434
mov eax, esi
call fcn.004035cc
mov ebx, eax
jmp 0x408436
xor ebx, ebx
push 5
push ebx
mov eax, edi
call fcn.004035cc
push eax
call sub.kernel32.dll_MoveFileExA
test eax, eax
jne 0x4084a1
lea eax, [ebp - 0x3b8]
push eax
mov eax, 0x408540
mov dword [ebp - 0x3c4], eax
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x3bc]
call fcn.004052f0
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], eax
lea edx, [ebp - 0x3c4]
mov ecx, 1
mov al, 0x2b
call fcn.00407628
mov ecx, dword [ebp - 0x3b8]
mov dl, 1
mov eax, 0x404c6c
call fcn.00406154
call fcn.00402fb0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4084e0
lea eax, [ebp - 0x3bc]
mov edx, 2
call fcn.004032b4
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004032b4
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004032b4
ret