Function at 0x100d240
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 0x100d49c
cmp dword [rcx + 0x28], 0
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
je 0x100d29c
lea rbp, [rcx + 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, 0x800
lea r8, [0x01001980]
mov rdx, rbx
mov rcx, rbp
mov r9d, eax
call fcn.01006bd8
jmp 0x100d2b7
lea rbp, [rcx + 0x78]
mov ebx, 0x800
lea r8, [0x01001978]
mov rcx, rbp
mov rdx, rbx
call fcn.01006bd8
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, [0x01001948]
sub rdx, rdi
mov dword [rsp + 0x20], r11d
call fcn.01006bd8
cmp dword [rsi + 0x24], 0
je 0x100d335
mov r9, qword [rsi + 0x60]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
mov rdx, rbx
lea r8, [0x01001930]
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.01006bd8
cmp dword [rsi + 0x1c], 0
je 0x100d344
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100d378
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 0x100d3b4
cdqe
cmp rax, 0x7ff
ja 0x100d3b4
cmp rax, 0x7ff
jne 0x100d3bd
mov word [rbp + 0xffe], 0
jmp 0x100d3bd
mov word [rbp + 0xffe], 0
cmp dword [rsi + 0x1c], 0
je 0x100d3cc
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100d400
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, [0x01001924]
mov rcx, rbp
sub rdx, rbp
nop
lea rax, [rbx + 0x7ffff7fe]
test rax, rax
je 0x100d434
movzx eax, word [rdx + rcx]
test ax, ax
je 0x100d434
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x100d410
jmp 0x100d439
test rbx, rbx
jne 0x100d43d
sub rcx, 2
mov rbx, qword [rsp + 0x58]
mov word [rcx], 0
cmp dword [rsi + 0x1c], 0
je 0x100d456
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov r10, qword [rsi + 8]
cmp r10, 0xffffffffffffffff
je 0x100d48a
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