Function at 0x140021130
Capabilities:
Print debug messages
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5f90]
mov eax, 0x6090
call fcn.14007ecb0
sub rsp, rax
mov rax, qword [0x1400b1010]
xor rax, rsp
mov qword [rbp + 0x5f80], rax
cmp byte [rcx + 0x1e3a], 0
lea rbx, [rcx + 0x20]
mov r12, r9
mov r15d, r8d
mov rdi, rdx
mov rsi, rcx
jne 0x1400211b3
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x30], rbx
lea r9, [rsi + 0xc20]
mov dword [rsp + 0x28], eax
lea r8, str._s_i__i_:__s
mov eax, dword [rsi + 0x18]
lea rcx, [rbp - 0x80]
mov edx, 0x1000
mov dword [rsp + 0x20], eax
call fcn.140020bc0
jmp 0x1400211db
mov eax, dword [rcx + 0x18]
lea r9, [rcx + 0xc20]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rbx
lea r8, str._s_i:__s
mov dword [rsp + 0x20], eax
mov edx, 0x1000
call fcn.140020bc0
xor r13d, r13d
lea rbx, [rbp + 0x3f80]
test r15d, r15d
je 0x140021213
call fcn.1400016c0
mov qword [rsp + 0x28], r12
lea rdx, [rbp + 0x3f80]
mov r9, rdi
mov qword [rsp + 0x20], r13
mov r8d, 0x1000
mov rcx, qword [rax]
call fcn.14005fe08
jmp 0x140021216
mov rbx, rdi
mov rdi, 0xffffffffffffffff
lea rcx, [rbp - 0x80]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140021224
cmp eax, 0x1000
jae 0x140021276
movsxd r8, eax
mov rcx, rdi
nop dword [rax + rax]
inc rcx
cmp word [rbx + rcx*2], r13w
jne 0x140021240
movsxd r9, ecx
lea r8, [rbp + r8*2 - 0x80]
mov rdx, r13
cmp rdx, r9
jge 0x14002149b
movzx ecx, word [rbx + rdx*2]
inc eax
mov word [r8], cx
inc rdx
add r8, 2
cmp eax, 0x1000
jb 0x140021255
movsxd rcx, eax
mov r15d, 0x2000
lea rax, [rcx*2 - 2]
cmp rax, r15
jae 0x1400214b7
mov word [rbp + rax - 0x80], r13w
mov dword [rsp + rcx*2 + 0x7a], 0x2e002e
mov dword [rsp + rcx*2 + 0x76], 0x2e0020
cmp byte [rsi + 0xe20], r13b
je 0x1400213f7
cmp qword [rsi + 0xe28], r13
je 0x1400213f7
lea rcx, [rsp + 0x48]
call fcn.140062adc
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140062378
lea r9, [rsp + 0x50]
mov byte [rbp + 0x1f80], 0x5b
lea r8, str._d__m__Y__I:_M:_S
mov rdx, r15
lea rcx, [rbp + 0x1f81]
call fcn.140062a58
lea rax, [rbp + 0x1f80]
mov rbx, rdi
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140021305
movsxd rax, ebx
mov r14, rdi
inc ebx
mov byte [rbp + rax + 0x1f80], 0x5d
movsxd rax, ebx
inc ebx
sub r15d, ebx
mov byte [rbp + rax + 0x1f80], 9
lea rax, [rbp - 0x80]
cmp word [rax + r14*2 + 2], r13w
lea r14, [r14 + 1]
jne 0x140021332
mov qword [rsp + 0x38], r13
lea r9d, [r14 + 1]
mov qword [rsp + 0x30], r13
lea r8, [rbp - 0x80]
mov dword [rsp + 0x28], r13d
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rsp + 0x38], r13
lea rcx, [rbp + 0x1f80]
cmp eax, r15d
mov qword [rsp + 0x30], r13
lea r9d, [r14 + 1]
cmovl r15d, eax
lea r8, [rbp - 0x80]
movsxd rax, ebx
xor edx, edx
add rcx, rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rcx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea ecx, [r15 + rbx]
movsxd rax, ecx
lea r8d, [rcx - 1]
cmp byte [rbp + rax + 0x1f7e], 0xa
je 0x1400213c7
movsxd rax, r8d
mov r8d, ecx
mov byte [rbp + rax + 0x1f80], 0xa
mov rcx, qword [rsi + 0xe28]
lea r9, [rsp + 0x40]
lea rdx, [rbp + 0x1f80]
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rsi + 0xe28]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
cmp byte [rsi + 0x1e39], r13b
jne 0x14002140a
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsi + 0xe30]
test rcx, rcx
je 0x140021448
lea rax, [rbp - 0x80]
nop word [rax + rax]
cmp word [rax + rdi*2 + 2], r13w
lea rdi, [rdi + 1]
jne 0x140021420
lea r8d, [rdi*2 + 2]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x44]
lea rdx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rsi + 8]
test rax, rax
je 0x14002145a
mov rcx, qword [rsi]
lea rdx, [rbp - 0x80]
call rax
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140021471
mov rcx, qword [rsi]
lea r9, [rbp - 0x80]
xor r8d, r8d
xor edx, edx
call rax
mov rcx, qword [rbp + 0x5f80]
xor rcx, rsp
call fcn.14002bca0
mov rbx, qword [rsp + 0x60e0]
add rsp, 0x6090
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd rcx, eax
mov r15d, 0x2000
add rcx, rcx
cmp rcx, r15
jae 0x1400214b7
mov word [rbp + rcx - 0x80], r13w
jmp 0x1400212a6
call fcn.14002c088
int3