Function at 0x45139c
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4513a4
push ebx
push esi
push edi
mov esi, edx
mov edi, eax
xor eax, eax
push ebp
push 0x45165c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0042da90
test al, al
jne 0x4515f8
lea eax, [ebp - 4]
call fcn.0042d850
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0042c5e0
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 8]
mov ecx, 0x451674
call fcn.00403708
lea ecx, [ebp - 0xc]
mov edx, 0x451688
mov eax, dword [ebp - 4]
call fcn.00451024
xor eax, eax
push ebp
push 0x4515df
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x451589
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00403880
push eax
push 0
push 0
push 0
call sub.kernel32.dll_WritePrivateProfileStringA
push 3
push 0
push 1
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, 0x44fb98
call fcn.0044fc34
mov dword [ebp - 0x10], eax
push 0
push 1
push 0
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, 0x44fbe0
call fcn.004500c4
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1d], 0
xor ebx, ebx
jmp 0x4514c2
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.0044ffd0
mov bl, 1
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
call fcn.00406c18
cmp dword [ebp - 0x1c], 0
je 0x4514b5
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x5b
jne 0x4514b5
mov edx, 0x451698
mov eax, dword [ebp - 0x1c]
call fcn.00406af4
test eax, eax
jne 0x4514af
mov byte [ebp - 0x1d], 1
jmp 0x4514b5
cmp byte [ebp - 0x1d], 0
jne 0x4514ce
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004501ac
xor ebx, ebx
mov eax, dword [ebp - 0x10]
call fcn.0044ffc0
test al, al
je 0x451472
cmp byte [ebp - 0x1d], 0
jne 0x4514e1
mov edx, 0x451698
mov eax, dword [ebp - 0x14]
call fcn.004501ac
test esi, esi
je 0x4514f1
lea edx, [ebp - 0x1c]
mov eax, esi
call fcn.0042d7fc
jmp 0x4514fe
lea eax, [ebp - 0x1c]
mov edx, 0x4516ac
call fcn.004035dc
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x24]
call fcn.004035dc
lea eax, [ebp - 0x24]
mov edx, 0x4516b8
call fcn.004036c4
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x28]
mov eax, edi
call fcn.0042d7fc
mov edx, dword [ebp - 0x28]
pop eax
call fcn.004036c4
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call fcn.004501ac
test bl, bl
je 0x45155f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004501ac
jmp 0x45155f
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.0044ffd0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004501ac
mov eax, dword [ebp - 0x10]
call fcn.0044ffc0
test al, al
je 0x451549
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451590
mov eax, dword [ebp - 0x14]
call fcn.00402ca0
mov eax, dword [ebp - 0x10]
call fcn.00402ca0
ret
test esi, esi
je 0x451607
mov eax, esi
call fcn.00403880
mov ebx, eax
jmp 0x451609
xor ebx, ebx
push 5
push ebx
mov eax, edi
call fcn.00403880
push eax
call sub.kernel32.dll_MoveFileExA
test eax, eax
jne 0x451627
mov eax, 0x4516ec
call fcn.00450d7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451663
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00403568
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00403568
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403568
ret