Function at 0x5231e8
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor eax, eax
push ebp
push 0x523631
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00477cb4
test eax, eax
je 0x523616
xor eax, eax
push ebp
push 0x52360f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
mov eax, 0x523644
call fcn.00409328
test al, al
je 0x523274
mov eax, 0x523654
call fcn.00409328
test al, al
je 0x523274
mov eax, 0x523664
call fcn.00409328
test al, al
je 0x523274
mov eax, 0x523674
call fcn.00409328
test al, al
je 0x523274
xor ecx, ecx
mov dl, 1
mov eax, 0x523674
call fcn.00484f30
mov eax, 0x523674
call fcn.00409328
test al, al
je 0x523313
mov eax, 0x523644
call fcn.00409328
test al, al
jne 0x5232b5
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
mov edx, 1
call fcn.00474604
mov dword [ebp - 4], eax
jmp 0x52332f
mov eax, 0x523654
call fcn.00409328
test al, al
jne 0x5232e4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
mov edx, 2
call fcn.00474604
mov dword [ebp - 4], eax
jmp 0x52332f
mov eax, 0x523664
call fcn.00409328
test al, al
jne 0x52332f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
mov edx, 3
call fcn.00474604
mov dword [ebp - 4], eax
jmp 0x52332f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
mov eax, dword [eax + 0x22c]
xor edx, edx
call fcn.00474604
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x52334b
mov ecx, 0x523688
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00477cb4
cmp eax, dword [ebp - 4]
je 0x523601
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x5236a0
call fcn.00404b68
je 0x5234a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x5236bc
call fcn.00404b68
jne 0x5233e5
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x5236d8
call fcn.00409fcc
mov eax, dword [ebp - 8]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x5236fc
push 0x523704
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x5234a9
mov ecx, 0x523718
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
jmp 0x5234a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x523738
call fcn.00404b68
jne 0x523448
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x523754
call fcn.00409fcc
mov eax, dword [ebp - 0xc]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x523768
push 0x523704
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x5234a9
mov ecx, 0x523778
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
jmp 0x5234a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x523798
call fcn.00404b68
jne 0x5234a9
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x5237b4
call fcn.00409fcc
mov eax, dword [ebp - 0x10]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x5237c8
push 0x523704
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x5234a9
mov ecx, 0x5237d8
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00477cb4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x5236a0
call fcn.00404b68
je 0x523601
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x5236bc
call fcn.00404b68
jne 0x52353d
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x5237f8
call fcn.00409fcc
mov eax, dword [ebp - 0x14]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x523704
push 0x5236fc
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x523601
mov ecx, 0x523814
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
jmp 0x523601
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x523738
call fcn.00404b68
jne 0x5235a0
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x523830
call fcn.00409fcc
mov eax, dword [ebp - 0x18]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x523704
push 0x523768
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x523601
mov ecx, 0x52384c
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
jmp 0x523601
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, 0x523798
call fcn.00404b68
jne 0x523601
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 8]
or ecx, 0xffffffff
mov eax, 0x523868
call fcn.00409fcc
mov eax, dword [ebp - 0x1c]
mov edx, 0x5236f4
call fcn.005226b0
pop ecx
push 0x523704
push 0x5237c8
call sub.kernel32.dll_MoveFileA
test eax, eax
jne 0x523601
mov ecx, 0x523884
mov dl, 1
mov eax, dword [0x407f94]
call fcn.0040c960
call fcn.00404148
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x523616
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x523638
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.00404790
ret