Function at 0x1400685e0
Capabilities:
Check for time delay via gettickcount
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1ffe0]
mov eax, 0x200e0
call fcn.1400eb380
sub rsp, rax
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140136490]
mov qword [rbp - 0x58], rax
mov rcx, r8
call fcn.140005a80
mov rcx, rbx
test al, al
je 0x14006863a
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400d22a0
jmp 0x14006863f
call fcn.1400d283c
mov qword [rbp - 0x60], rax
cmp rax, 1
jge 0x14006869b
mov rax, qword [0x14012fc08]
mov dword [rax + 0x40], 0x57
lea rdx, [0x14011037c]
test byte [rax + 0x140], 1
jne 0x140068684
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [r9 - 1]
mov rcx, qword [0x140134210]
call fcn.1400b0830
jmp 0x140068da9
lea r9, [0x1400fb87c]
xor r8d, r8d
mov rcx, rsi
call fcn.140050b90
jmp 0x140068da9
lea rax, vtable.TextStream.0
mov qword [rsp + 0x40], rax
xor r14d, r14d
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x54], 0xffffffff
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
mov ecx, dword [0x140137468]
cmp ecx, 0xffffffff
je 0x1400686e8
mov dword [rsp + 0x54], ecx
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1400686e8
mov byte [rsp + 0x5e], r14b
lea rax, vtable.TextFile.0
mov qword [rsp + 0x40], rax
mov qword [rbp - 0x80], 0xffffffffffffffff
mov rax, qword [0x14012fc08]
mov r9d, dword [rax + 0x13c]
btr r9d, 0x1f
mov r8d, 0x30c
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400a9c60
test al, al
jne 0x14006876b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x14012fc08]
mov dword [rcx + 0x40], eax
lea rdx, [0x14011037c]
test byte [rcx + 0x140], 1
jne 0x140068763
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [r9 - 1]
mov rcx, qword [0x140134210]
call fcn.1400b0830
jmp 0x140068d16
mov rcx, rsi
jmp 0x140068d07
xor r10d, r10d
mov qword [rbp - 0x68], r10
jmp 0x140068783
xor r10d, r10d
mov r13d, 1
mov ecx, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x70]
test ecx, ecx
je 0x1400687bf
test rdi, rdi
jne 0x1400687bf
mov r8d, ecx
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov rdi, qword [rsp + 0x70]
mov word [rsp + 0x6c], r10w
mov ebx, r10d
mov r12d, dword [rsp + 0x54]
mov r14d, r10d
cmp r12d, 0x4b0
sete r14b
inc r14d
mov dword [rbp + 0x20038], r14d
mov esi, r14d
test rdi, rdi
je 0x14006881b
mov r8d, ecx
mov eax, esi
sub r8, rax
mov r9, qword [rsp + 0x78]
add r8, r9
cmp rdi, r8
jbe 0x140068847
mov eax, r9d
sub eax, edi
add ecx, eax
mov dword [rsp + 0x4c], ecx
mov r8d, ecx
mov rdx, rdi
mov rcx, r9
call fcn.1400cfd20
lea rcx, [rsp + 0x40]
call fcn.1400a9bc0
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x70], rdi
mov ecx, dword [rsp + 0x4c]
cmp ecx, esi
setae al
xor r10d, r10d
test al, al
jne 0x140068847
test ecx, ecx
je 0x140068ba7
mov esi, r14d
mov dword [rbp - 0x70], r14d
mov r15d, ecx
add r15, qword [rsp + 0x78]
cmp r12d, 0x4b0
jne 0x140068876
movzx eax, r15b
sub al, dil
test al, 1
je 0x140068876
dec r15
cmp r15, rdi
je 0x140068b8f
cmp rdi, r15
jae 0x140068a5c
nop
cmp ebx, 0xffff
jae 0x140068ab5
cmp r12d, 0x4b0
jne 0x1400688e5
mov r14d, 2
movzx eax, word [rdi]
cmp ax, 0xd
jne 0x1400688db
lea rcx, [rdi + 4]
cmp rcx, r15
ja 0x1400688d0
cmp word [rdi + 2], 0xa
jne 0x1400688db
test byte [rsp + 0x48], 4
jne 0x140068a3c
mov ecx, ntohs
mov eax, ebx
mov word [rbp + rax*2 - 0x20], cx
jmp 0x140068a3a
cmp dword [rsp + 0x50], 0
jne 0x140068a72
mov word [rsp + 0x30], ax
jmp 0x1400689c7
mov r14d, 1
movsx edx, byte [rdi]
cmp dl, 0x80
jae 0x140068920
cmp dl, 0xd
jne 0x140068913
lea rax, [rdi + 1]
cmp rax, r15
jae 0x140068908
cmp byte [rax], 0xa
jne 0x140068913
jmp 0x1400688b4
cmp dword [rsp + 0x50], 0
jne 0x140068a7d
movzx eax, dx
mov word [rsp + 0x30], dx
jmp 0x1400689c7
cmp r12d, 0xfde9
jne 0x140068974
movzx eax, dl
and al, 0xe0
cmp al, 0xc0
jne 0x14006893c
mov ecx, 2
mov r14d, ecx
jmp 0x140068989
movzx eax, dl
and al, 0xf0
cmp al, 0xe0
jne 0x140068950
mov ecx, 2
lea r14d, [rcx + 1]
jmp 0x140068989
and dl, 0xf8
cmp dl, 0xf0
jne 0x140068963
mov ecx, 2
lea r14d, [rcx + 2]
jmp 0x140068989
mov ecx, 0xfffd
mov eax, ebx
mov word [rbp + rax*2 - 0x20], cx
jmp 0x140068a3a
lea rcx, [rsp + 0x40]
call fcn.1400a9c30
test al, al
mov ecx, 2
cmovne r14d, ecx
mov eax, r14d
add rax, rdi
cmp rax, r15
ja 0x140068a88
mov dword [rsp + 0x28], ecx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rdi
mov edx, 8
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rcx, eax
cmp ecx, 1
jne 0x140068a00
movzx eax, word [rsp + 0x30]
cmp ax, 0xd
jne 0x1400689e2
test byte [rsp + 0x48], 8
je 0x1400689f7
mov esi, 0xa
mov eax, esi
mov word [rsp + 0x30], ax
jmp 0x1400689ed
cmp ax, 0xa
jne 0x1400689f7
mov esi, 0xa
sub r13d, 1
je 0x140068bc3
mov ecx, ebx
mov word [rbp + rcx*2 - 0x20], ax
jmp 0x140068a3a
mov eax, ebx
lea r9, [rbp - 0x20]
lea r9, [r9 + rax*2]
test ecx, ecx
je 0x140068a34
lea esi, [rcx + rbx]
cmp esi, 0xffff
ja 0x140068bf1
mov r8, rcx
add r8, r8
lea rdx, [rsp + 0x30]
mov rcx, r9
call fcn.1400cfd20
mov ebx, esi
jmp 0x140068a3c
mov word [r9], 0xfffd
inc ebx
mov eax, r14d
add rdi, rax
cmp rdi, r15
jb 0x140068880
mov ecx, dword [rsp + 0x4c]
mov esi, dword [rbp - 0x70]
mov r14d, dword [rbp + 0x20038]
cmp rdi, r15
jne 0x140068ac3
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov edi, r10d
mov qword [rsp + 0x70], r10
jmp 0x140068acb
mov esi, 4
mov ecx, dword [rsp + 0x4c]
jmp 0x140068a52
mov esi, 2
mov ecx, dword [rsp + 0x4c]
jmp 0x140068a52
cmp dword [rsp + 0x50], 0
jne 0x140068aac
xor r10d, r10d
mov ecx, r10d
mov dword [rsp + 0x4c], ecx
mov edi, r10d
mov eax, ebx
mov edx, 0xfffd
mov word [rbp + rax*2 - 0x20], dx
inc ebx
jmp 0x140068a4f
mov esi, r14d
mov ecx, dword [rsp + 0x4c]
jmp 0x140068a52
mov ecx, dword [rsp + 0x4c]
mov esi, dword [rbp - 0x70]
mov r14d, dword [rbp + 0x20038]
mov qword [rsp + 0x70], rdi
xor r10d, r10d
cmp ebx, 0xffff
jb 0x1400687e8
xor r14d, r14d
test ebx, ebx
je 0x140068c99
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x140137224]
mov rcx, qword [0x14012fc08]
cmp eax, dword [rcx + 0x118]
jbe 0x140068b31
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x50]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140068b25
mov edx, 1
lea ecx, [rdx - 2]
call fcn.140001940
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140137224], eax
mov rax, qword [rbp - 0x68]
inc rax
mov qword [rbp - 0x68], rax
cmp rax, qword [rbp - 0x60]
jl 0x140068780
mov r8d, dword [rsp + 0x4c]
test r8d, r8d
je 0x140068c02
cmp qword [rsp + 0x70], 0
jne 0x140068c02
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
mov dword [rsp + 0x4c], r14d
mov word [rsp + 0x6c], r14w
mov rax, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
call qword [rax + reloc.WSOCK32.dll_recv]
jmp 0x140068c15
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x4c], r10d
mov eax, ebx
mov ecx, 0xfffd
mov word [rbp + rax*2 - 0x20], cx
inc ebx
xor r14d, r14d
cmp ebx, 0xffff
jae 0x140068ada
mov eax, ebx
mov word [rbp + rax*2 - 0x20], r10w
jmp 0x140068ada
mov eax, ebx
mov word [rbp + rax*2 - 0x20], si
inc ebx
mov eax, r14d
add rax, rdi
mov qword [rsp + 0x70], rax
xor r14d, r14d
cmp ebx, 0xffff
jae 0x140068ada
mov word [rbp + rbx*2 - 0x20], r14w
jmp 0x140068ada
mov qword [rsp + 0x70], rdi
xor r14d, r14d
mov word [r9], r14w
jmp 0x140068ada
mov word [rsp + 0x6c], r14w
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + reloc.WSOCK32.dll_recv]
lea edx, [rbx - 1]
cmp word [rbp + rdx*2 - 0x20], 0xa
jne 0x140068c49
mov ebx, edx
test edx, edx
jne 0x140068c49
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor edx, edx
lea r8, [r9 - 1]
mov rcx, qword [rbp - 0x58]
call fcn.1400b0830
test eax, eax
jne 0x140068c6d
mov ebx, r14d
jmp 0x140068d18
mov r8d, ebx
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea rdx, [rbp - 0x20]
mov rcx, qword [rbp - 0x58]
call fcn.1400b0830
test eax, eax
jne 0x140068c6d
mov ebx, r14d
jmp 0x140068d18
mov rax, qword [0x14012fc08]
mov dword [rax + 0x40], r14d
mov byte [rsp + 0x20], 1
xor r9d, r9d
lea r8, [r9 - 1]
lea rdx, [0x1400fb96c]
mov rcx, qword [0x140134210]
call fcn.1400b0830
jmp 0x140068d16
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x14012fc08]
mov dword [rcx + 0x40], eax
mov r8d, dword [rsp + 0x4c]
test r8d, r8d
je 0x140068cd2
cmp qword [rsp + 0x70], 0
jne 0x140068cd2
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
mov dword [rsp + 0x4c], r14d
mov word [rsp + 0x6c], r14w
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x40]
call qword [rax + reloc.WSOCK32.dll_recv]
mov rax, qword [0x14012fc08]
lea rdx, [0x14011037c]
test byte [rax + 0x140], 1
je 0x140068746
mov rcx, qword [rbp + 0x20020]
lea r9, [0x1400fb87c]
xor r8d, r8d
call fcn.140050b90
mov ebx, eax
lea rax, vtable.TextFile.0
mov qword [rsp + 0x40], rax
mov r8d, dword [rsp + 0x4c]
test r8d, r8d
je 0x140068d5d
cmp qword [rsp + 0x70], 0
jne 0x140068d5d
mov dword [rbp + 0x20038], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x20038]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x4c], r14d
mov word [rsp + 0x6c], r14w
mov rcx, qword [rbp - 0x80]
cmp rcx, 0xffffffffffffffff
je 0x140068d8b
mov eax, dword [rsp + 0x48]
and eax, 0x10000003
cmp eax, 0x10000000
je 0x140068d83
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x80], 0xffffffffffffffff
lea rax, vtable.TextStream.0
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140068da7
call fcn.1400d29a8
nop
mov eax, ebx
mov rbx, qword [rsp + 0x20128]
add rsp, 0x200e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret