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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rsi
sub rsp, 0x60
cmp dword [rcx + 0x50], 0
mov rsi, rcx
je 0x100f40c
cmp dword [rcx + 0x28], 0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
je 0x100f20c
lea rbp, [rcx + 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, 0x800
lea r8, [0x01003300]
mov rdx, rbx
mov rcx, rbp
mov r9d, eax
call fcn.010079d0
jmp 0x100f227
lea rbp, [rcx + 0x78]
mov ebx, 0x800
lea r8, [0x010032f8]
mov rcx, rbp
mov rdx, rbx
call fcn.010079d0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, dword [rsi + 0x38]
mov r11d, eax
mov eax, dword [rsi + 0x4c]
mov rdx, rbx
mov dword [rsp + 0x28], eax
lea rcx, [rsi + rdi*2 + 0x78]
lea r8, [0x010032c8]
sub rdx, rdi
mov dword [rsp + 0x20], r11d
call fcn.010079d0
cmp dword [rsi + 0x24], 0
je 0x100f2a5
mov r9, qword [rsi + 0x60]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
mov rdx, rbx
lea r8, [0x010032b0]
repne scasw ax, word [rdi]
mov eax, dword [rsi + 0x58]
not rcx
mov dword [rsp + 0x20], eax
sub rcx, 1
sub rdx, rcx
lea rcx, [rsi + rcx*2 + 0x78]
call fcn.010079d0
cmp dword [rsi + 0x1c], 0
je 0x100f2b4
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100f2e8
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
lea r9, [rsp + 0x30]
mov rdx, rbp
not rcx
mov qword [rsp + 0x20], rax
lea r8d, [rcx + rcx - 2]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8, qword [rsp + 0x78]
lea r9, [rsp + 0x80]
mov edx, 0x7ff
mov rcx, rbp
call qword [sym.imp.MSVCR80.dll__vsnwprintf]
test eax, eax
js 0x100f324
cdqe
cmp rax, 0x7ff
ja 0x100f324
cmp rax, 0x7ff
jne 0x100f32d
mov word [rbp + 0xffe], 0
jmp 0x100f32d
mov word [rbp + 0xffe], 0
cmp dword [rsi + 0x1c], 0
je 0x100f33c
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100f370
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
lea r9, [rsp + 0x30]
mov rdx, rbp
not rcx
mov qword [rsp + 0x20], rax
lea r8d, [rcx + rcx - 2]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdx, [0x010032a4]
mov rcx, rbp
sub rdx, rbp
nop
lea rax, [rbx + 0x7ffff7fe]
test rax, rax
je 0x100f3a4
movzx eax, word [rdx + rcx]
test ax, ax
je 0x100f3a4
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x100f380
jmp 0x100f3a9
test rbx, rbx
jne 0x100f3ad
sub rcx, 2
mov rbx, qword [rsp + 0x58]
mov word [rcx], 0
cmp dword [rsi + 0x1c], 0
je 0x100f3c6
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100f3fa
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
lea r9, [rsp + 0x30]
mov rdx, rbp
not rcx
mov qword [rsp + 0x20], rax
lea r8d, [rcx + rcx - 2]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x60
pop rsi
ret
xor eax, eax
add rsp, 0x60
pop rsi
ret