Function at 0x140002290
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov rbp, rdx
mov rdi, rcx
cmp dword [rcx + 4], 0
jne 0x140002536
mov r8d, 0x20
lea rdx, str.a_ccsUTF_8
mov rcx, qword [rcx + 0x20]
call fcn.140003580
mov r14, rax
test rax, rax
je 0x1400026db
lea rcx, [0x14001b008]
mov rdx, qword [0x14001b008]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
or rsi, 0xffffffffffffffff
cmp dword [rdi + 8], 0
je 0x140002358
lea rdx, [rsp + 0x88]
mov rcx, rdi
call fcn.140002770
nop
mov r8, qword [rax]
lea rdx, [0x140017b48]
lea rcx, [rsp + 0x70]
call fcn.140002a70
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140002353
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x70]
jmp 0x140002358
mov rbx, qword [rsp + 0x70]
cmp dword [rdi + 0x10], 0
je 0x1400023ad
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140002860
nop
mov r8, qword [rax]
lea rdx, [0x140017b48]
lea rcx, [rsp + 0x70]
call fcn.140002a70
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400023a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x70]
jmp 0x1400023ad
mov rbx, qword [rsp + 0x70]
test rbp, rbp
jne 0x1400023b6
xor edi, edi
jmp 0x1400023c8
xor eax, eax
mov rcx, rsi
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
mov r13, rbp
sub r13, rbx
sar r13, 1
mov r15d, dword [rbx - 0x10]
lea r12d, [r15 + rdi]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, edx
jge 0x1400023fd
mov edx, r12d
lea rcx, [rsp + 0x70]
call fcn.140001810
mov rbx, qword [rsp + 0x70]
cmp r13, r15
ja 0x140002406
lea rbp, [rbx + r13*2]
movsxd rdx, edi
add rdx, rdx
lea rcx, [rbx + r15*2]
mov r9, rdx
mov r8, rbp
call fcn.140002f50
test r12d, r12d
js 0x14000252b
cmp r12d, dword [rbx - 0xc]
jg 0x14000252b
mov dword [rbx - 0x10], r12d
movsxd rax, r12d
mov word [rbx + rax*2], 0
mov eax, dword [rbx - 0x10]
add eax, 0xffffffff
js 0x140002520
mov r12d, dword [rbx - 0x10]
cmp eax, r12d
jg 0x140002520
cdqe
cmp word [rbx + rax*2], 0xa
je 0x1400024ea
xor eax, eax
mov rcx, rsi
lea rbp, [0x140017b50]
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
mov r13, rbp
sub r13, rbx
sar r13, 1
lea edi, [r12 + rcx - 1]
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, edx
jge 0x1400024aa
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.140001810
mov rbx, qword [rsp + 0x70]
cmp r13, r12
ja 0x1400024b3
lea rbp, [rbx + r13*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rbx + r12*2]
mov r9, rdx
mov r8, rbp
call fcn.140002f50
test edi, edi
js 0x1400024df
cmp edi, dword [rbx - 0xc]
jg 0x1400024df
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
jmp 0x1400024ea
mov ecx, 0x80070057
call fcn.1400017f0
int3
mov rdx, rbx
mov rcx, r14
call fcn.1400036e0
mov rcx, r14
call fcn.140003870
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400026db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400026db
mov ecx, 0x80070057
call fcn.1400017f0
int3
mov ecx, 0x80070057
call fcn.1400017f0
nop
lea rcx, [0x14001b008]
mov rax, qword [0x14001b008]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
or rsi, 0xffffffffffffffff
test rbp, rbp
jne 0x140002560
xor edi, edi
jmp 0x140002571
xor eax, eax
mov rcx, rsi
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea edi, [rcx - 1]
mov r13, rbp
sub r13, rbx
sar r13, 1
mov r14d, dword [rbx - 0x10]
lea r12d, [r14 + rdi]
mov r15d, 1
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, ecx
jge 0x1400025b0
mov edx, r12d
lea rcx, [rsp + 0x80]
call fcn.140001810
mov rbx, qword [rsp + 0x80]
cmp r13, r14
ja 0x1400025b9
lea rbp, [rbx + r13*2]
movsxd rdx, edi
add rdx, rdx
lea rcx, [rbx + r14*2]
mov r9, rdx
mov r8, rbp
call fcn.140002f50
test r12d, r12d
js 0x1400026d0
cmp r12d, dword [rbx - 0xc]
jg 0x1400026d0
mov dword [rbx - 0x10], r12d
movsxd rax, r12d
mov word [rbx + rax*2], 0
mov eax, dword [rbx - 0x10]
add eax, 0xffffffff
js 0x1400026c5
mov r12d, dword [rbx - 0x10]
cmp eax, r12d
jg 0x1400026c5
cdqe
cmp word [rbx + rax*2], 0xa
je 0x1400026a0
xor eax, eax
mov rcx, rsi
lea rbp, [0x140017b50]
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov r13, rbp
sub r13, rbx
sar r13, 1
lea edi, [r12 + rcx - 1]
sub r15d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r15d
jge 0x140002660
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140001810
mov rbx, qword [rsp + 0x80]
cmp r13, r12
ja 0x140002669
lea rbp, [rbx + r13*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbx + r12*2]
mov r9, rdx
mov r8, rbp
call fcn.140002f50
test edi, edi
js 0x140002695
cmp edi, dword [rbx - 0xc]
jg 0x140002695
mov dword [rbx - 0x10], edi
movsxd rax, edi
mov word [rbx + rax*2], 0
jmp 0x1400026a0
mov ecx, 0x80070057
call fcn.1400017f0
int3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x1400026db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400026db
mov ecx, 0x80070057
call fcn.1400017f0
int3
mov ecx, 0x80070057
call fcn.1400017f0
nop
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret