Function at 0x140004248
Capabilities:
Set file attributes
Timestomp file

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3c0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x140085930]
xor rax, rsp
mov qword [rbp + 0x2b8], rax
mov r13b, r9b
mov r12b, r8b
mov r15d, edx
mov rsi, rcx
mov qword [rbp + 0x190], rcx
mov qword [rsp + 0x60], select
xor ebx, ebx
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x48], bl
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rcx
lea rcx, [rsp + 0x48]
call fcn.14001e320
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x1d8]
call fcn.140003f90
nop
lea rcx, [rbp + 0x1d8]
cmp qword [rbp + 0x1f0], 0x10
cmovae rcx, qword [rbp + 0x1d8]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edi, ebx
mov r14d, ebx
lea rdx, [rbp + 0x1d8]
cmp qword [rbp + 0x1f0], 0x10
cmovae rdx, qword [rbp + 0x1d8]
lea rcx, [rbp + 0x80]
call fcn.14001ce08
nop
cmp qword [rbp + 0x120], rbx
je 0x140004505
mov qword [rbp + 0x1d0], select
mov qword [rbp + 0x1c8], rbx
mov byte [rbp + 0x1b8], bl
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x80]
call fcn.1400255f0
lea rcx, [rbp + 0x80]
call fcn.14001cf9c
mov qword [rbp + 0x1b0], select
mov qword [rbp + 0x1a8], rbx
mov byte [rbp + 0x198], bl
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x198]
call fcn.14001e320
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x1f8]
call fcn.1400021ec
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14001af54
cmp qword [rbp + 0x210], 0x10
jb 0x1400043c8
mov rcx, qword [rbp + 0x1f8]
call fcn.14002df20
mov r9d, 1
xor r8d, r8d
lea rdx, [0x140072de4]
lea rcx, [rbp + 0x1b8]
call fcn.14001eb5c
test eax, eax
jle 0x140004426
movsxd r9, eax
xor r8d, r8d
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x1b8]
call fcn.14001b2c8
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14001af54
cmp qword [rbp + 0x1b0], 0x10
jb 0x140004426
mov rcx, qword [rbp + 0x198]
call fcn.14002df20
mov r9d, 1
lea rdx, [0x140072de8]
lea rcx, [rbp + 0x1b8]
call fcn.14001ec30
mov rbx, rax
test eax, eax
jle 0x1400044ee
movsxd r9, eax
xor r8d, r8d
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x1b8]
call fcn.14001b2c8
cmp qword [rax + 0x18], 0x10
jb 0x14000446d
mov rax, qword [rax]
mov rcx, rax
call fcn.14002d1d4
mov r14d, eax
cmp qword [rbp + 0x1b0], 0x10
jb 0x14000448e
mov rcx, qword [rbp + 0x198]
call fcn.14002df20
lea eax, [rbx + 1]
movsxd r8, eax
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x1b8]
call fcn.14001b2c8
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14001af54
cmp qword [rbp + 0x1b0], 0x10
jb 0x1400044d0
mov rcx, qword [rbp + 0x198]
call fcn.14002df20
lea rcx, [rbp + 0x1b8]
cmp qword [rbp + 0x1d0], 0x10
cmovae rcx, qword [rbp + 0x1b8]
call fcn.14002d1d4
mov edi, eax
cmp qword [rbp + 0x1d0], 0x10
jb 0x140004505
mov rcx, qword [rbp + 0x1b8]
call fcn.14002df20
nop
lea rcx, [rbp + 0x130]
call fcn.14001cf24
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x130]
call fcn.140027154
test edi, edi
jle 0x140004534
test r12b, r12b
je 0x140004561
xor ecx, ecx
call fcn.14002e800
mov rbx, rax
xor r12d, r12d
test r13b, r13b
jne 0x14000455d
sub eax, edi
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jge 0x14000455d
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edi, ebx
jmp 0x140004564
xor r12d, r12d
lea rdx, [rbp + 0x1d8]
mov r13d, reloc.WS2_32.dll_recv
cmp qword [rbp + 0x1f0], r13
cmovae rdx, qword [rbp + 0x1d8]
lea rcx, [rsp + 0x70]
call fcn.14001d974
nop
cmp qword [rbp + 8], r12
je 0x140004925
xor ecx, ecx
call fcn.14002e800
imul r15d, r15d, 0x15180
sub eax, r15d
test r14d, r14d
jle 0x1400045b2
cmp r14d, eax
cmovl eax, r14d
test eax, eax
jg 0x1400045bd
xor ecx, ecx
call fcn.14002e800
mov edx, eax
lea rcx, [rbp + 0x218]
call fcn.140001eec
nop
xor ecx, ecx
call fcn.14002e800
mov rbx, rax
mov edx, edi
lea rcx, [rbp + 0x278]
call fcn.140001eec
mov rdi, rax
mov edx, ebx
lea rcx, [rbp + 0x198]
call fcn.140001eec
nop
mov r8, rax
lea rdx, [0x140072de8]
lea rcx, [rbp + 0x1f8]
call fcn.140023d08
nop
lea r8, [0x140072de8]
mov rdx, rax
lea rcx, [rbp + 0x258]
call fcn.140023d3c
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x238]
call fcn.140023f74
nop
lea r8, [0x140072de4]
mov rdx, rax
lea rcx, [rbp + 0x298]
call fcn.140023d3c
nop
or r15, 0xffffffffffffffff
mov r9, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x218]
call fcn.140020dcc
nop
cmp qword [rbp + 0x2b0], r13
jb 0x14000467d
mov rcx, qword [rbp + 0x298]
call fcn.14002df20
mov edi, select
mov qword [rbp + 0x2b0], rdi
mov qword [rbp + 0x2a8], r12
mov byte [rbp + 0x298], r12b
cmp qword [rbp + 0x250], r13
jb 0x1400046ac
mov rcx, qword [rbp + 0x238]
call fcn.14002df20
mov qword [rbp + 0x250], rdi
mov qword [rbp + 0x248], r12
mov byte [rbp + 0x238], r12b
cmp qword [rbp + 0x270], r13
jb 0x1400046d6
mov rcx, qword [rbp + 0x258]
call fcn.14002df20
mov qword [rbp + 0x270], rdi
mov qword [rbp + 0x268], r12
mov byte [rbp + 0x258], r12b
cmp qword [rbp + 0x210], r13
jb 0x140004700
mov rcx, qword [rbp + 0x1f8]
call fcn.14002df20
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x208], r12
mov byte [rbp + 0x1f8], r12b
cmp qword [rbp + 0x1b0], r13
jb 0x14000472a
mov rcx, qword [rbp + 0x198]
call fcn.14002df20
mov qword [rbp + 0x1b0], rdi
mov qword [rbp + 0x1a8], r12
mov byte [rbp + 0x198], r12b
cmp qword [rbp + 0x290], r13
jb 0x140004754
mov rcx, qword [rbp + 0x278]
call fcn.14002df20
call fcn.14002dea8
mov r8d, eax
mov eax, 0x10624dd3
imul r8d
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul edx, edx, 0x3e8
sub r8d, edx
test r8d, r8d
jle 0x1400047b3
mov ebx, r8d
mov r14d, 1
call fcn.14002dea8
and eax, 0x800000ff
jge 0x14000479c
sub eax, r14d
or eax, 0xffffff00
add eax, r14d
mov r8b, al
mov rdx, r14
lea rcx, [rbp + 0x218]
call fcn.14001e220
sub rbx, r14
jne 0x140004785
mov qword [rbp + 0x1b0], rdi
mov qword [rbp + 0x1a8], r12
mov byte [rbp + 0x198], r12b
mov r9, r15
xor r8d, r8d
lea rdx, [rbp + 0x218]
lea rcx, [rbp + 0x198]
call fcn.14001e320
lea rdx, [rbp + 0x198]
lea rcx, [rbp + 0x278]
call fcn.140002428
mov rdx, rax
lea rcx, [rbp + 0x218]
call fcn.14001af54
cmp qword [rbp + 0x290], r13
jb 0x140004818
mov rcx, qword [rbp + 0x278]
call fcn.14002df20
lea rdx, [rbp + 0x218]
lea rcx, [rsp + 0x70]
call fcn.140023fe4
lea rcx, [rsp + 0x70]
call fcn.14001db14
lea rcx, [rbp + 0x1d8]
cmp qword [rbp + 0x1f0], r13
cmovae rcx, qword [rbp + 0x1d8]
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
call fcn.14002dea8
mov r8d, eax
mov eax, 0x66666667
imul r8d
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*4]
add ecx, ecx
sub r8d, ecx
movzx eax, word [rbp + 0x1c2]
sub eax, r8d
test eax, eax
jg 0x140004894
add eax, 0x3c
mov word [rbp + 0x1c2], ax
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea rcx, [rbp + 0x1d8]
cmp qword [rbp + 0x1f0], r13
cmovae rcx, qword [rbp + 0x1d8]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov r8d, 3
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0x100
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFileTime]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rbp + 0x230], r13
jb 0x14000492a
mov rcx, qword [rbp + 0x218]
call fcn.14002df20
jmp 0x14000492a
mov edi, select
lea rcx, [rbp + 0x18]
call fcn.14001da8c
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x18]
call fcn.140027154
nop
cmp qword [rbp + 0x1f0], r13
jb 0x14000495d
mov rcx, qword [rbp + 0x1d8]
call fcn.14002df20
mov qword [rbp + 0x1f0], rdi
mov qword [rbp + 0x1e8], r12
mov byte [rbp + 0x1d8], r12b
cmp qword [rsi + 0x18], r13
jb 0x140004980
mov rcx, qword [rsi]
call fcn.14002df20
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x10], r12
mov byte [rsi], r12b
mov rcx, qword [rbp + 0x2b8]
xor rcx, rsp
call fcn.14002b700
mov rbx, qword [rsp + 0x410]
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret