Function at 0x1801b3dd0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov rax, qword [0x180332088]
xor rax, rsp
mov qword [rbp + 0x60], rax
movsxd rax, r9d
mov dword [rsp + 0x48], eax
mov r9, r8
mov qword [rsp + 0x70], r8
mov r13, rdx
mov qword [rsp + 0x78], rdx
mov r12, qword [r8 + 0x38]
sub r12, qword [r8 + 0x30]
sar r12, 7
mov qword [rsp + 0x50], r12
cmp eax, r12d
jge 0x1801b42a8
test eax, eax
js 0x1801b42a8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor esi, esi
mov qword [rsp + 0x68], rsi
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov r8, rax
shl r8, 7
add r8, qword [r9 + 0x30]
cmp dword [r8 + 0x48], esi
jne 0x1801b426c
add r8, 8
lea rdx, [rsp + 0x58]
call fcn.1801b4910
test eax, eax
je 0x1801b426c
mov rax, qword [rsp + 0x58]
mov rbx, rax
lea edi, [rsi + 1]
cmp rax, qword [rsp + 0x60]
je 0x1801b426e
nop dword [rax]
nop dword [rax + rax]
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rsi
mov word [rbp - 0x68], si
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rsi
mov dword [rbp - 0x48], esi
xor r8d, r8d
lea rdx, [0x1802abc2c]
lea rcx, [rbp - 0x68]
call fcn.18005c660
mov dword [rbp - 0x70], esi
mov dword [rbp - 0x44], esi
mov r14, qword [rsp + 0x20]
mov rdi, r14
mov rsi, qword [rsp + 0x28]
cmp r14, rsi
je 0x1801b3f01
nop word [rax + rax]
mov rcx, rdi
call fcn.18016e020
sub rdi, 0xffffffffffffff80
cmp rdi, rsi
jne 0x1801b3ef0
mov rdi, r14
mov qword [rsp + 0x28], r14
xor esi, esi
mov r15d, esi
test r12d, r12d
jle 0x1801b40fe
mov r12d, esi
lea r13d, [rsi + 1]
nop
mov rax, qword [rsp + 0x70]
mov rsi, qword [rax + 0x30]
add rsi, r12
cmp dword [rsp + 0x48], r15d
jne 0x1801b4055
lea rcx, [rbp - 0x20]
call fcn.1801aa210
nop
cmp qword [rbx + 0x18], 8
jb 0x1801b3f4d
mov rdx, qword [rbx]
jmp 0x1801b3f50
mov rdx, rbx
mov dword [rbp - 0x20], r13d
cmp word [rdx], 0
jne 0x1801b3f5f
xor r8d, r8d
jmp 0x1801b3f6e
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1801b3f63
lea rcx, [rbp - 0x18]
call fcn.18005c660
lea rdx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0x58]
call fcn.1801a9f10
mov dword [rbp + 0x50], r13d
lea rdx, [rsi + 8]
lea rax, [rbp + 0x30]
cmp rax, rdx
je 0x1801b3faf
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x30]
call fcn.18005cbe0
lea rax, [rbp - 0x20]
cmp rax, rdi
jae 0x1801b4007
lea rax, [rbp - 0x20]
cmp r14, rax
ja 0x1801b4007
lea rsi, [rbp - 0x20]
sub rsi, r14
cmp rdi, qword [rsp + 0x30]
jne 0x1801b3fe3
lea rcx, [rsp + 0x20]
call fcn.180173400
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x38], rdi
and rsi, 0xffffffffffffff80
add rsi, r14
mov qword [rsp + 0x40], rdi
test rdi, rdi
je 0x1801b4005
mov rdx, rsi
mov rcx, rdi
call fcn.1801745e0
nop
jmp 0x1801b403e
cmp rdi, qword [rsp + 0x30]
jne 0x1801b4022
lea rcx, [rsp + 0x20]
call fcn.180173400
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x1801b403e
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1801745e0
nop
sub rdi, 0xffffffffffffff80
mov qword [rsp + 0x28], rdi
lea rcx, [rbp - 0x20]
call fcn.18016e020
jmp 0x1801b40e0
cmp rsi, rdi
jae 0x1801b40a1
cmp r14, rsi
ja 0x1801b40a1
sub rsi, r14
cmp rdi, qword [rsp + 0x30]
jne 0x1801b407d
lea rcx, [rsp + 0x20]
call fcn.180173400
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x40], rdi
and rsi, 0xffffffffffffff80
add rsi, r14
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x1801b409f
mov rdx, rsi
mov rcx, rdi
call fcn.1801745e0
nop
jmp 0x1801b40d7
cmp rdi, qword [rsp + 0x30]
jne 0x1801b40bc
lea rcx, [rsp + 0x20]
call fcn.180173400
mov rdi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
test rdi, rdi
je 0x1801b40d7
mov rdx, rsi
mov rcx, rdi
call fcn.1801745e0
nop
sub rdi, 0xffffffffffffff80
mov qword [rsp + 0x28], rdi
inc r15d
sub r12, 0xffffffffffffff80
cmp r15d, dword [rsp + 0x50]
jl 0x1801b3f20
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x50]
xor esi, esi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.18016df70
mov rdi, rax
mov ecx, dword [rax]
mov dword [rbp - 0x70], ecx
lea rdx, [rax + 8]
lea rax, [rbp - 0x68]
cmp rax, rdx
je 0x1801b4131
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x68]
call fcn.18005cbe0
mov eax, dword [rdi + 0x28]
mov dword [rbp - 0x48], eax
mov eax, dword [rdi + 0x2c]
mov dword [rbp - 0x44], eax
lea rdx, [rdi + 0x30]
lea rcx, [rbp - 0x40]
call fcn.180172c60
nop
lea rcx, [0x1802abc2c]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rbp + 0x10]
call fcn.180173390
mov r8, qword [rbp]
cmp r8, 8
jb 0x1801b417b
inc r8
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x18]
call fcn.18005cac0
mov dword [rbp - 0x44], 0xb
mov r8, qword [r13 + 8]
lea rax, [rbp - 0x70]
cmp rax, r8
jae 0x1801b41f6
mov rax, qword [r13]
lea rcx, [rbp - 0x70]
cmp rax, rcx
ja 0x1801b41f6
lea rcx, [rbp - 0x70]
sub rcx, rax
movabs rax, 0xe38e38e38e38e39
imul rcx
mov rdi, rdx
sar rdi, 2
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp r8, qword [r13 + 0x10]
jne 0x1801b41cf
mov rcx, r13
call fcn.180173210
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x40], rcx
lea rdx, [rdi + rdi*8]
mov rax, qword [r13]
lea rdx, [rax + rdx*8]
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x1801b41f4
call fcn.18016e100
nop
jmp 0x1801b4221
cmp r8, qword [r13 + 0x10]
jne 0x1801b4204
mov rcx, r13
call fcn.180173210
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x1801b4221
lea rdx, [rbp - 0x70]
call fcn.18016e100
nop
add qword [r13 + 8], 0x48
lea rcx, [0x1802abc2c]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rbp - 0x40]
call fcn.180173390
mov r8, qword [rbp - 0x50]
cmp r8, 8
jb 0x1801b4256
inc r8
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp - 0x68]
call fcn.18005cac0
add rbx, 0x20
cmp rbx, qword [rsp + 0x60]
jne 0x1801b3ea0
mov edi, 1
jmp 0x1801b426e
mov edi, esi
lea rcx, [rsp + 0x20]
call fcn.180173390
nop
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x1801b42a4
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.180066100
mov r8, qword [rsp + 0x68]
sub r8, rbx
sar r8, 5
mov rdx, rbx
call fcn.180063e70
mov eax, edi
jmp 0x1801b42aa
xor eax, eax
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1802037a0
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret