Function at 0x18012eb40
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x2e8], rbx
mov rax, qword [0x180248950]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov r14, r8
mov rdi, rdx
mov qword [rsp + 0x40], rdx
mov r15, rcx
mov qword [rsp + 0x48], rcx
mov r8, qword [r8 + 8]
mov rdx, qword [r14]
mov rcx, r14
call fcn.1800e72b0
mov rax, qword [r14]
mov qword [r14 + 8], rax
mov rbx, qword [rdi]
mov rdx, rbx
mov r8, qword [rdi + 8]
cmp rbx, r8
je 0x18012f58a
nop dword [rax]
mov rax, qword [rdx + 0x30]
mov rcx, qword [rdx + 0x38]
cmp rax, rcx
je 0x18012ebe4
cmp dword [rax + 0x48], 0
jne 0x18012ebd9
sub rax, 0xffffffffffffff80
jmp 0x18012ebc8
add rdx, 0x48
cmp rdx, r8
je 0x18012ebeb
jmp 0x18012ebc0
xor eax, eax
jmp 0x18012f58f
cmp rbx, r8
je 0x18012f58a
xor r12d, r12d
or r13, 0xffffffffffffffff
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], r12
mov word [rbp - 0x48], r12w
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov dword [rbp - 0x28], r12d
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp - 0x48]
call fcn.180005450
mov dword [rbp - 0x50], r12d
mov dword [rbp - 0x24], 1
lea rsi, [rbx + 8]
cmp qword [rsi + 0x18], 8
jb 0x18012ec4a
mov rcx, qword [rsi]
jmp 0x18012ec4d
mov rcx, rsi
lea rdx, [rbp]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x18012ec60
lea rcx, [rbp]
call fcn.18015f8a8
mov dword [rsp + 0x20], r12d
lea r9, [rbp - 0x50]
lea r8, [rbp]
mov rdx, qword [r15 + 0x18]
mov rcx, r15
call fcn.18013bd10
lea rcx, [rbp - 0x50]
call fcn.18013b9f0
mov ecx, r12d
mov dword [rbp - 0x50], ecx
mov rdi, qword [rbp - 0x20]
mov rax, rdi
mov rdx, qword [rbp - 0x18]
cmp rdi, rdx
je 0x18012ecf6
cmp dword [rax], 0
jne 0x18012ecbb
inc ecx
mov dword [rbp - 0x50], ecx
sub rax, 0xffffffffffffff80
cmp rax, rdx
jne 0x18012ecb1
cmp rdi, rdx
je 0x18012ecf6
add rdi, 8
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x18012ecdc
mov rdx, qword [rdi]
jmp 0x18012ecdf
mov rdx, rdi
lea rcx, [rdi + 0x70]
call fcn.18013bbb0
sub rdi, 0xffffffffffffff80
lea rax, [rdi - 8]
cmp rax, qword [rbp - 0x18]
jne 0x18012ecd0
lea rcx, [rbp - 0x50]
call fcn.18013d690
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r12
mov word [rsp + 0x68], r12w
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r12
mov dword [rbp - 0x78], r12d
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rsp + 0x68]
call fcn.180005450
mov dword [rsp + 0x60], r12d
mov dword [rbp - 0x74], 2
cmp qword [rsi + 0x18], 8
jb 0x18012ed4c
mov rsi, qword [rsi]
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x60]
mov r8, rsi
mov rdx, qword [r15 + 0x10]
mov rcx, r15
call fcn.18013bd10
mov ecx, r12d
mov dword [rsp + 0x60], ecx
mov rdi, qword [rbp - 0x70]
mov rax, rdi
mov rdx, qword [rbp - 0x68]
cmp rdi, rdx
je 0x18012edc6
nop
cmp dword [rax], 0
jne 0x18012ed8b
inc ecx
mov dword [rsp + 0x60], ecx
sub rax, 0xffffffffffffff80
cmp rax, rdx
jne 0x18012ed80
cmp rdi, rdx
je 0x18012edc6
add rdi, 8
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x18012edac
mov rdx, qword [rdi]
jmp 0x18012edaf
mov rdx, rdi
lea rcx, [rdi + 0x70]
call fcn.18013bbb0
sub rdi, 0xffffffffffffff80
lea rax, [rdi - 8]
cmp rax, qword [rbp - 0x68]
jne 0x18012eda0
lea rcx, [rsp + 0x60]
call fcn.18013d690
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rdx, qword [rbp - 0x48]
mov r9, qword [rsp + 0x78]
mov r8, r9
mov r10, qword [rbp - 0x38]
cmp r10, r9
cmovb r8, r10
test r8, r8
jmp 0x18012ee2a
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x18012ee1b
add rdx, 2
add rcx, 2
dec r8
jmp 0x18012ee2a
mov r8d, 1
cmp word [rdx], ax
cmovb r8d, r13d
jmp 0x18012ee2f
jne 0x18012ee06
mov r8d, r12d
movsxd rax, r8d
test r8d, r8d
jne 0x18012ee4a
cmp r10, r9
jae 0x18012ee41
mov eax, r13d
jmp 0x18012ee4a
mov eax, r12d
cmp r10, r9
setne al
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x20]
test eax, eax
jne 0x18012f1d3
mov rcx, r12
sub rcx, rdx
sar rcx, 7
mov rax, r13
sub rax, r8
sar rax, 7
cmp rcx, rax
jne 0x18012f1d3
xor esi, esi
mov edi, esi
movsxd r15, ecx
test ecx, ecx
jle 0x18012ef60
lea r9, [rdx + 0x18]
mov rax, r8
sub rax, rdx
lea rcx, [rax + 8]
mov qword [rsp + 0x30], rcx
lea rsi, [rax - 0x10]
nop word [rax + rax]
mov r11, qword [rcx + r9 - 8]
cmp qword [rcx + r9], 8
jb 0x18012eec2
mov rdx, qword [rsi + r9]
jmp 0x18012eec6
lea rdx, [rsi + r9]
mov r10, qword [r9]
cmp qword [r9 + 8], 8
jb 0x18012eed6
mov rcx, qword [r9 - 0x10]
jmp 0x18012eeda
lea rcx, [r9 - 0x10]
mov r8, r11
cmp r10, r11
cmovb r8, r10
test r8, r8
jmp 0x18012ef1d
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18012ef05
add rcx, 2
add rdx, 2
dec r8
jmp 0x18012ef1d
mov r8d, 1
cmp word [rcx], ax
mov rdx, 0xffffffffffffffff
cmovb r8d, edx
xor ecx, ecx
jmp 0x18012ef28
jne 0x18012eef0
xor ecx, ecx
or rdx, 0xffffffffffffffff
mov r8d, ecx
movsxd rax, r8d
test r8d, r8d
jne 0x18012ef41
cmp r10, r11
jae 0x18012ef39
mov eax, edx
jmp 0x18012ef41
mov eax, ecx
cmp r10, r11
setne al
test eax, eax
jne 0x18012f1cb
inc rdi
sub r9, 0xffffffffffffff80
cmp rdi, r15
mov rcx, qword [rsp + 0x30]
jl 0x18012eeb0
xor esi, esi
mov r8, qword [r14 + 8]
lea rax, [rsp + 0x60]
cmp rax, r8
jae 0x18012f0bb
mov r9, qword [r14]
lea rax, [rsp + 0x60]
cmp r9, rax
ja 0x18012f0bb
lea rcx, [rsp + 0x60]
sub rcx, r9
movabs r12, 0xe38e38e38e38e39
mov rax, r12
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
mov r10, qword [r14 + 0x10]
cmp r8, r10
jne 0x18012f04d
mov rcx, r10
sub rcx, r8
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jae 0x18012f04d
sub r8, r9
mov rax, r12
imul r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs r11, 0x38e38e38e38e38e
mov rax, r11
sub rax, rdx
cmp rax, 1
jb 0x18012f570
lea r8, [rdx + 1]
sub r10, r9
mov rax, r12
imul r10
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rcx, rdx
shr rcx, 1
mov rax, r11
sub rax, rcx
cmp rax, rdx
jae 0x18012f03b
mov rdx, rsi
jmp 0x18012f03e
add rdx, rcx
cmp rdx, r8
cmovb rdx, r8
mov rcx, r14
call fcn.1800e7830
lea rcx, [rdi + rdi*8]
mov rax, qword [r14]
lea rsi, [rax + rcx*8]
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x18012f0b1
mov eax, dword [rsi]
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
xor r15d, r15d
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
lea rdx, [rsi + 8]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
nop
mov eax, dword [rsi + 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
lea rdx, [rsi + 0x30]
lea rcx, [rdi + 0x30]
call fcn.1800e0a70
nop
add qword [r14 + 8], 0x48
jmp 0x18012f4ab
mov r9, qword [r14 + 0x10]
cmp r8, r9
jne 0x18012f169
mov rcx, r9
sub rcx, r8
movabs r12, 0xe38e38e38e38e39
mov rax, r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jae 0x18012f169
mov rcx, qword [r14]
sub r8, rcx
mov rax, r12
imul r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs r10, 0x38e38e38e38e38e
mov rax, r10
sub rax, rdx
cmp rax, 1
jb 0x18012f57d
lea r8, [rdx + 1]
sub r9, rcx
mov rax, r12
imul r9
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rcx, rdx
shr rcx, 1
mov rax, r10
sub rax, rcx
cmp rax, rdx
jae 0x18012f157
mov rdx, rsi
jmp 0x18012f15a
add rdx, rcx
cmp rdx, r8
cmovb rdx, r8
mov rcx, r14
call fcn.1800e7830
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
test rdi, rdi
je 0x18012f1c1
mov eax, dword [rsp + 0x60]
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], rsi
mov word [rcx], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
call fcn.180005100
nop
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp - 0x74]
mov dword [rdi + 0x2c], eax
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x70]
call fcn.1800e0a70
nop
add qword [r14 + 8], 0x48
jmp 0x18012f4ab
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x70]
mov eax, dword [rbp - 0x50]
cmp eax, dword [rsp + 0x60]
jne 0x18012f451
mov r8, qword [r14 + 8]
lea rcx, [rbp - 0x50]
cmp rcx, r8
jae 0x18012f2a2
mov rdx, qword [r14]
lea rcx, [rbp - 0x50]
cmp rdx, rcx
ja 0x18012f2a2
lea rcx, [rbp - 0x50]
sub rcx, rdx
movabs r12, 0xe38e38e38e38e39
mov rax, r12
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp r8, qword [r14 + 0x10]
jne 0x18012f23c
mov edx, 1
mov rcx, r14
call fcn.1800e7aa0
lea rcx, [rdi + rdi*8]
mov rax, qword [r14]
lea rsi, [rax + rcx*8]
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r15d, r15d
test rdi, rdi
je 0x18012f2a0
mov eax, dword [rsi]
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
lea rdx, [rsi + 8]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
nop
mov eax, dword [rsi + 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
lea rdx, [rsi + 0x30]
lea rcx, [rdi + 0x30]
call fcn.1800e0a70
nop
jmp 0x18012f319
cmp r8, qword [r14 + 0x10]
jne 0x18012f2b8
mov edx, 1
mov rcx, r14
call fcn.1800e7aa0
mov eax, dword [rbp - 0x50]
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r15d, r15d
test rdi, rdi
je 0x18012f30f
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x48]
call fcn.180005100
nop
mov eax, dword [rbp - 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp - 0x24]
mov dword [rdi + 0x2c], eax
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x20]
call fcn.1800e0a70
nop
movabs r12, 0xe38e38e38e38e39
add qword [r14 + 8], 0x48
mov r8, qword [r14 + 8]
lea rax, [rsp + 0x60]
cmp rax, r8
jae 0x18012f3de
mov rax, qword [r14]
lea rcx, [rsp + 0x60]
cmp rax, rcx
ja 0x18012f3de
lea rcx, [rsp + 0x60]
sub rcx, rax
mov rax, r12
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp r8, qword [r14 + 0x10]
jne 0x18012f373
mov edx, 1
mov rcx, r14
call fcn.1800e7aa0
lea rcx, [rdi + rdi*8]
mov rax, qword [r14]
lea rsi, [rax + rcx*8]
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
test rdi, rdi
je 0x18012f3d4
mov eax, dword [rsi]
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
lea rdx, [rsi + 8]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
nop
mov eax, dword [rsi + 0x28]
mov dword [rdi + 0x28], eax
mov eax, dword [rsi + 0x2c]
mov dword [rdi + 0x2c], eax
lea rdx, [rsi + 0x30]
lea rcx, [rdi + 0x30]
call fcn.1800e0a70
nop
add qword [r14 + 8], 0x48
jmp 0x18012f4ab
cmp r8, qword [r14 + 0x10]
jne 0x18012f3f1
mov edx, 1
mov rcx, r14
call fcn.1800e7aa0
mov rdi, qword [r14 + 8]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
test rdi, rdi
je 0x18012f44a
mov eax, dword [rsp + 0x60]
mov dword [rdi], eax
lea rcx, [rdi + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x68]
call fcn.180005100
nop
mov eax, dword [rbp - 0x78]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp - 0x74]
mov dword [rdi + 0x2c], eax
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x70]
call fcn.1800e0a70
nop
add qword [r14 + 8], 0x48
jmp 0x18012f4ab
jge 0x18012f47e
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.1800e7d60
mov rcx, qword [rbp - 0x68]
sub rcx, qword [rbp - 0x70]
sar rcx, 7
mov rax, qword [rbp - 0x18]
sub rax, qword [rbp - 0x20]
sar rax, 7
cmp rcx, rax
jae 0x18012f4ab
jmp 0x18012f49d
sub r13, r8
sar r13, 7
sub r12, rdx
sar r12, 7
cmp r12, r13
jae 0x18012f49d
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.1800e7d60
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1800e7d60
nop
lea rcx, [0x1801f3ee0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rbp - 0x70]
test rdx, rdx
je 0x18012f4e8
mov r8, qword [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.1800e7210
mov rcx, qword [rbp - 0x70]
call fcn.1800b5354
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
xor r12d, r12d
mov qword [rbp - 0x60], r12
jmp 0x18012f4eb
xor r12d, r12d
cmp qword [rbp - 0x80], 8
jb 0x18012f4fc
mov rcx, qword [rsp + 0x68]
call fcn.1800b5354
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], r12
mov word [rsp + 0x68], r12w
lea rcx, [0x1801f3ee0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x18012f547
mov r8, qword [rbp - 0x18]
lea rcx, [rbp - 0x20]
call fcn.1800e7210
mov rcx, qword [rbp - 0x20]
call fcn.1800b5354
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
cmp qword [rbp - 0x30], 8
jb 0x18012f557
mov rcx, qword [rbp - 0x48]
call fcn.1800b5354
add rbx, 0x48
mov rax, qword [rsp + 0x40]
cmp rbx, qword [rax + 8]
je 0x18012f58a
mov r15, qword [rsp + 0x48]
jmp 0x18012ebf7
lea rcx, str.vector_T__too_long
call fcn.1800b2c70
int3
lea rcx, str.vector_T__too_long
call fcn.1800b2c70
nop
mov eax, 1
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1800b5370
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret