Function at 0x4506b0
Capabilities:
Move file

Disassembly:
push ebp
lea ebp, [esp - 0x124]
sub esp, 0x124
push 0xffffffffffffffff
push 0x49c863
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x4c86e0]
xor eax, ebp
mov dword [ebp + 0x120], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp + 0x1c], bl
push 0x103
push ebx
lea eax, [ebp + 0x1d]
push eax
call fcn.00483d60
add esp, 0xc
push 0x104
lea ecx, [ebp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x450743
push 0x104
lea edx, [ebp + 0x1c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp eax, ebx
jle 0x450743
mov cl, 0x5c
nop
cmp byte [ebp + eax + 0x1c], cl
je 0x45073f
sub eax, 1
cmp eax, ebx
jg 0x450730
jmp 0x450743
mov byte [ebp + eax + 0x1d], bl
push str.srvlst.dat
push 0x104
lea eax, [ebp + 0x1c]
push eax
call fcn.004821bc
add esp, 0xc
mov dword [ebp + 0x18], 0xf
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
lea eax, [ebp + 0x1c]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x450770
sub eax, edx
push eax
lea ecx, [ebp + 0x1c]
push ecx
lea ecx, [ebp]
call fcn.00408030
mov byte [ebp - 4], 1
push 4
push str..tmp
lea eax, [ebp]
call fcn.0044f260
mov edi, 0x10
cmp dword [ebp + 0x18], edi
mov eax, dword [ebp + 4]
jae 0x4507ab
lea eax, [ebp + 4]
push ebx
push 0x80
push 2
push ebx
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
mov dword [ebp - 0x18], esi
cmp esi, 0xffffffff
jne 0x450813
mov byte [ebp - 4], bl
cmp dword [ebp + 0x18], edi
jb 0x4507e0
mov edx, dword [ebp + 4]
push edx
call fcn.00459b1e
add esp, 4
mov esi, 0xf
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x144], edi
jb 0x45080c
mov eax, dword [ebp + 0x130]
push eax
call fcn.00459b1e
add esp, 4
xor al, al
jmp 0x450908
mov byte [ebp - 0x11], bl
mov byte [ebp - 4], 2
cmp dword [ebp + 0x144], edi
mov ebx, dword [ebp + 0x130]
jae 0x45082e
lea ebx, [ebp + 0x130]
push esi
mov edi, dword [ebp + 0x140]
call fcn.0044f7c0
add esp, 4
test al, al
jne 0x450856
mov dword [ebp - 0x1c], 0xda
push 0x4bb4e8
lea ecx, [ebp - 0x1c]
push ecx
call fcn.0048453b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp + 0x18], 0x10
mov eax, dword [ebp + 4]
jae 0x450870
lea eax, [ebp + 4]
mov ebx, 1
push ebx
lea edx, [ebp + 0x1c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x45089a
mov dword [ebp - 0x20], 0xe5
push 0x4bb4e8
lea eax, [ebp - 0x20]
push eax
call fcn.0048453b
mov byte [ebp - 0x11], bl
mov dword [ebp - 4], ebx
jmp 0x4508be
xor ebx, ebx
mov byte [ebp - 4], bl
mov edi, 0x10
cmp dword [ebp + 0x18], edi
jb 0x4508d9
mov ecx, dword [ebp + 4]
push ecx
call fcn.00459b1e
add esp, 4
mov esi, 0xf
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], bl
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x144], edi
jb 0x450905
mov edx, dword [ebp + 0x130]
push edx
call fcn.00459b1e
add esp, 4
mov al, byte [ebp - 0x11]
mov byte [ebp + 0x130], bl
mov dword [ebp + 0x140], ebx
mov dword [ebp + 0x144], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x120]
xor ecx, ebp
call fcn.0047e440
add ebp, 0x124
mov esp, ebp
pop ebp
ret 0x1c