Function at 0x1800e4440
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov rbx, rdx
mov rsi, rcx
xor edi, edi
mov rax, qword [0x18027b2a0]
test rax, rax
jne 0x1800e44a5
mov ecx, 0x180
call fcn.1800b543c
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1800e449b
mov rcx, rax
call fcn.1800e8900
jmp 0x1800e449e
mov rax, rdi
mov qword [0x18027b2a0], rax
mov rcx, rax
call fcn.180186380
mov r14, rax
mov r15, rdi
mov qword [rbp - 0x41], rdi
mov r12, rdi
mov r13, rdi
mov qword [rbp - 0x31], rdi
mov qword [rbp - 0x29], rdi
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
mov rbx, qword [rbx]
mov rax, qword [rbp + 0x6f]
cmp rbx, qword [rax + 8]
je 0x1800e4891
movabs rax, 0xe38e38e38e38e39
movabs r8, 0x38e38e38e38e38e
nop word [rax + rax]
mov qword [rbp - 0x21], rdi
cmp r15, r12
je 0x1800e45a0
lea rdi, [r15 + 0x38]
xor r13d, r13d
nop word [rax + rax]
lea rcx, [0x1801f3ee0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x1800e4556
mov r8, qword [rdi]
lea rcx, [rdi - 8]
call fcn.1800e7210
mov rcx, qword [rdi - 8]
call fcn.1800b5354
mov qword [rdi - 8], r13
mov qword [rdi], r13
mov qword [rdi + 8], r13
cmp qword [rdi - 0x18], 8
jb 0x1800e4566
mov rcx, qword [rdi - 0x30]
call fcn.1800b5354
mov qword [rdi - 0x18], 7
mov qword [rdi - 0x20], r13
mov word [rdi - 0x30], r13w
add rdi, 0x48
lea rax, [rdi - 0x38]
cmp rax, r12
jne 0x1800e4520
mov r13, qword [rbp - 0x31]
mov rsi, qword [rbp + 0x67]
movabs rax, 0xe38e38e38e38e39
movabs r8, 0x38e38e38e38e38e
mov r12, r15
mov qword [rbp - 0x39], r15
cmp r15, r13
jne 0x1800e45f5
mov rcx, r13
sub rcx, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jae 0x1800e45f5
mov rcx, rdx
shr rcx, 1
mov rax, r8
sub rax, rcx
cmp rax, rdx
jb 0x1800e45e3
add rdx, rcx
cmp rdx, 1
jae 0x1800e45e8
mov edx, 1
lea rcx, [rbp - 0x41]
call fcn.1800e7830
mov r12, qword [rbp - 0x39]
mov qword [rbp + 0x77], r12
mov qword [rbp + 0x7f], r12
xor r15d, r15d
test r12, r12
je 0x1800e4650
mov eax, dword [rbx]
mov dword [r12], eax
lea rcx, [r12 + 8]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r15
mov word [rcx], r15w
lea rdx, [rbx + 8]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.180005100
nop
mov eax, dword [rbx + 0x28]
mov dword [r12 + 0x28], eax
mov eax, dword [rbx + 0x2c]
mov dword [r12 + 0x2c], eax
lea rdx, [rbx + 0x30]
lea rcx, [r12 + 0x30]
call fcn.1800e0a70
nop
add r12, 0x48
mov qword [rbp - 0x39], r12
cmp dword [rsi + 0x1af0], 0
je 0x1800e469d
mov rax, qword [0x18027b2b0]
test rax, rax
jne 0x1800e4692
lea ecx, [rax + 0x50]
call fcn.1800b543c
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1800e4688
mov rcx, rax
call fcn.1800ef9a0
jmp 0x1800e468b
mov rax, r15
mov qword [0x18027b2b0], rax
mov rdx, rbx
mov rcx, rax
call fcn.1800f18e0
xor r9d, r9d
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x41]
mov rcx, rsi
call fcn.1800e5210
mov r10, qword [rbp - 0x21]
mov qword [rbp + 0x77], r10
mov rdi, qword [rbp - 0x29]
cmp rdi, r10
je 0x1800e471d
mov r8, r10
sub r8, rdi
sar r8, 3
lea rax, [r8 + 1]
cqo
sub rax, rdx
sar rax, 1
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
mov qword [rbp + 7], rax
lea rax, [rbp - 0x11]
mov qword [rbp + 0xf], rax
lea rax, [0x1800ec040]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x11]
mov rdx, r10
mov rcx, rdi
call fcn.1800e8780
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1800e4719
call fcn.1800b5354
mov r10, qword [rbp + 0x77]
xor r9b, r9b
mov r8b, 0xff
mov rax, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
cmp rax, rcx
je 0x1800e4863
cmp dword [rax + 0x48], 0
je 0x1800e474e
movzx edx, byte [rax + 0x4c]
test dl, dl
je 0x1800e474e
cmp r8b, dl
jbe 0x1800e474e
mov r9b, 1
movzx r8d, dl
sub rax, 0xffffffffffffff80
cmp rax, rcx
jne 0x1800e4734
test r9b, r9b
je 0x1800e4863
movzx eax, r8b
test eax, eax
jle 0x1800e4863
sub r10, rdi
sar r10, 3
mov qword [rbp + 0x77], r10
mov rsi, r15
mov r15, rdi
mov r13d, eax
cmp r10, rsi
jbe 0x1800e484b
mov rax, qword [0x180277e88]
test rax, rax
jne 0x1800e47b6
lea ecx, [rax + 8]
call fcn.1800b543c
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x1800e47af
mov rcx, rax
call fcn.1801108e0
nop
mov qword [0x180277e88], rax
mov rcx, rax
call fcn.180110bd0
mov rdi, rax
mov qword [rbp + 0x7f], rax
mov rdx, qword [r15]
mov rcx, rax
call fcn.180016a50
mov dword [rdi + 8], 0x35
mov rcx, qword [r14 + 8]
lea rax, [rbp + 0x7f]
cmp rax, rcx
jae 0x1800e4823
mov rdx, qword [r14]
lea rax, [rbp + 0x7f]
cmp rdx, rax
ja 0x1800e4823
lea rdi, [rbp + 0x7f]
sub rdi, rdx
sar rdi, 3
cmp rcx, qword [r14 + 0x10]
jne 0x1800e480e
mov edx, 1
mov rcx, r14
call fcn.180018cb0
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1800e4842
mov rax, qword [rax + rdi*8]
mov qword [rcx], rax
jmp 0x1800e4842
cmp rcx, qword [r14 + 0x10]
jne 0x1800e4836
mov edx, 1
mov rcx, r14
call fcn.180018cb0
mov rax, qword [r14 + 8]
test rax, rax
je 0x1800e4842
mov qword [rax], rdi
mov r10, qword [rbp + 0x77]
add qword [r14 + 8], 8
inc rsi
add r15, 8
dec r13
jne 0x1800e4780
mov rdi, qword [rbp - 0x29]
mov rsi, qword [rbp + 0x67]
add rbx, 0x48
mov rax, qword [rbp + 0x6f]
cmp rbx, qword [rax + 8]
mov r15, qword [rbp - 0x41]
mov r13, qword [rbp - 0x31]
movabs rax, 0xe38e38e38e38e39
movabs r8, 0x38e38e38e38e38e
jne 0x1800e4500
test rdi, rdi
je 0x1800e489f
mov rcx, rdi
call fcn.1800b5354
nop
test r15, r15
je 0x1800e491b
cmp r15, r12
je 0x1800e4913
lea rbx, [r15 + 0x38]
xor esi, esi
nop
lea rcx, [0x1801f3ee0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rbx - 8]
test rdx, rdx
je 0x1800e48e6
mov r8, qword [rbx]
lea rcx, [rbx - 8]
call fcn.1800e7210
mov rcx, qword [rbx - 8]
call fcn.1800b5354
mov qword [rbx - 8], rsi
mov qword [rbx], rsi
mov qword [rbx + 8], rsi
cmp qword [rbx - 0x18], 8
jb 0x1800e48f6
mov rcx, qword [rbx - 0x30]
call fcn.1800b5354
mov qword [rbx - 0x18], 7
mov qword [rbx - 0x20], rsi
mov word [rbx - 0x30], si
add rbx, 0x48
lea rax, [rbx - 0x38]
cmp rax, r12
jne 0x1800e48b0
mov rcx, r15
call fcn.1800b5354
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret