Function at 0x50ef80
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ac90
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x5f88c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x84], edi
xor esi, esi
mov dword [ebp - 0x78], esi
cmp byte [edi + 0x34], 0
mov dword [ebp - 4], esi
je 0x50efdf
cmp byte [ebp + 8], 0
jne 0x50efdf
push dword [edi + 0x30]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 1
call fcn.0050c430
mov esi, dword [ebp - 0x78]
lea ecx, [edi + 0xa8]
mov dword [ebp - 4], 0
call fcn.0050cc40
mov eax, dword [edi + 0xa8]
xor edx, edx
mov edi, dword [ebp - 0x84]
mov ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + edi + 0xe0], edx
cmovne eax, edx
mov dword [ecx + edi + 0xb4], eax
test dword [ecx + edi + 0xb8], eax
jne 0x50f4af
jmp 0x50f044
push dword [edi + 0x1d8]
lea eax, [edi + 0x1b4]
push eax
call fcn.0050fa70
add esp, 8
lea ecx, [ebp - 0x13c]
push 1
call fcn.004ffdd0
cmp dword [edi + 0x1c8], 7
lea ecx, [edi + 0x1b4]
mov byte [ebp - 4], 4
jbe 0x50f07f
mov ecx, dword [edi + 0x1b4]
push dword [edi + 0x1c4]
lea eax, [ebp - 0x13c]
push ecx
push eax
call fcn.00504f00
add esp, 0xc
push 1
push 0x5bbb34
push eax
call fcn.00477e30
add esp, 8
mov ecx, eax
call fcn.00505a90
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
call fcn.004789a0
mov byte [ebp - 4], 5
call fcn.00503240
cmp dword [ebp - 0x18], 7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
cmova ecx, dword [ebp - 0x2c]
push ecx
call fcn.0056e316
add esp, 4
test eax, eax
je 0x50f0e4
call fcn.0055fbef
cmp dword [ebp - 0x18], 7
lea ecx, [ebp - 0x2c]
lea eax, [edi + 0x1b4]
cmova ecx, dword [ebp - 0x2c]
cmp dword [eax + 0x14], 7
jbe 0x50f0fd
mov eax, dword [eax]
push ecx
push eax
call fcn.0056e33e
add esp, 8
test eax, eax
je 0x50f112
call fcn.0055fbef
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [edi + 0x1b4]
push eax
push dword [ebp - 0x7c]
call fcn.0050ddf0
lea eax, [edi + 0x1b4]
add esp, 0x10
cmp dword [eax + 0x14], 7
jbe 0x50f137
mov eax, dword [eax]
push eax
call fcn.0056e316
add esp, 4
test eax, eax
je 0x50f149
call fcn.0055fbef
mov edx, dword [edi + 0x168]
lea ecx, [edi + 0x158]
mov eax, SysReAllocString
sub eax, edx
cmp eax, 0xe
jb 0x50f4e2
cmp dword [ecx + 0x14], 7
mov eax, ecx
jbe 0x50f16f
mov eax, dword [ecx]
push edx
push eax
push 0xe
push str.Renaming_file
push ecx
push dword [ebp - 0x84]
lea ecx, [ebp - 0x44]
call fcn.0046e1c0
push str._to
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00415170
lea ecx, [edi + 0x1b4]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00430d00
add esp, 0x18
mov ecx, dword [ebp - 0x7c]
push eax
mov byte [ebp - 4], 8
call fcn.0051ab40
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 4], 7
cmp ecx, 7
jbe 0x50f200
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50f1f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50f4e7
push ecx
push edx
call fcn.0054b2c7
add esp, 8
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 6
cmp ecx, 7
jbe 0x50f252
mov edx, dword [ebp - 0x74]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50f248
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50f4e7
push ecx
push edx
call fcn.0054b2c7
add esp, 8
mov ecx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 5
cmp ecx, 7
jbe 0x50f2a4
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50f29a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50f4e7
push ecx
push edx
call fcn.0054b2c7
add esp, 8
cmp dword [edi + 0x1c8], 7
lea eax, [edi + 0x1b4]
jbe 0x50f2b5
mov eax, dword [eax]
cmp dword [edi + 0x16c], 7
lea ecx, [edi + 0x158]
jbe 0x50f2c6
mov ecx, dword [ecx]
push eax
push ecx
call fcn.0056e33e
add esp, 8
test eax, eax
je 0x50f2db
call fcn.0055fbef
mov eax, dword [eax]
push eax
lea eax, [edi + 0x1b4]
push eax
lea eax, [edi + 0x158]
push eax
push dword [ebp - 0x7c]
call fcn.0050ddf0
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push 0x12
call dword [eax + 0x28]
mov eax, dword [edi + 0xa8]
mov eax, dword [eax + 4]
test byte [eax + edi + 0xb4], 6
je 0x50f344
lea eax, [edi + 0x158]
push eax
lea eax, [ebp - 0x44]
push str.Failed_to_open_file
push eax
call fcn.0046e130
add esp, 0xc
mov ecx, dword [ebp - 0x7c]
push 0
push eax
mov byte [ebp - 4], 9
call fcn.0051ab80
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.00403120
call fcn.00536d77
push 0
push 0xa
push edx
push eax
call fcn.0054b320
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
cmp edx, dword [edi + 0x1d4]
jg 0x50f376
jl 0x50f372
cmp eax, dword [edi + 0x1d0]
jae 0x50f376
xor al, al
jmp 0x50f378
mov al, 1
test al, al
je 0x50f422
lea eax, [ebp - 0x90]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0050d180
lea ecx, [edi + 0x1b4]
mov dword [ebp - 0x7c], eax
cmp ecx, eax
je 0x50f3d1
call fcn.00453fc0
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [edi + 0x1b4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x1c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea ecx, [ebp - 0x44]
call fcn.00403120
push dword [edi + 0x1b0]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0050c4a0
push eax
call fcn.00510620
mov ecx, eax
mov edi, 0xf4240
mov eax, edx
add esp, 0x10
mul edi
mov edi, eax
mov eax, ecx
mov ecx, 0xf4240
mul ecx
mov ecx, dword [ebp - 0x84]
add edi, edx
mov dword [ecx + 0x1d0], eax
mov dword [ecx + 0x1d4], edi
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 4
cmp ecx, 7
jbe 0x50f460
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x50f456
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50f4ec
push ecx
push edx
call fcn.0054b2c7
add esp, 8
xor eax, eax
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.005018e0
mov dword [ebp - 4], 0xa
test esi, esi
je 0x50f491
mov ecx, esi
call fcn.00524fe0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0054b289
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x88]
push 1
push eax
call fcn.00462200
add esp, 8
lea ecx, [ebp - 0xa4]
push eax
push str.ios_base::badbit_set
call fcn.00460020
push 0x5ea274
lea eax, [ebp - 0xa4]
push eax
call fcn.0054d049
call fcn.004540b0
call fcn.0055fb01
call fcn.0055fb01
int3