Function at 0x18013ab20
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov qword [rbp - 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x358], rbx
mov rax, qword [0x180248950]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov r15, r8
mov qword [rsp + 0x38], r8
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x48], rcx
mov r8, qword [r8 + 8]
mov rdx, qword [r15]
mov rcx, r15
call fcn.1800e72b0
mov rax, qword [r15]
mov qword [r15 + 8], rax
mov rdx, rdi
movzx ecx, word [rdi]
test cx, cx
je 0x18013abaf
lea eax, [rcx - 0x61]
cmp ax, 0x19
jbe 0x18013ab9f
cmp cx, 0x27
jne 0x18013aba8
add rdx, 2
movzx ecx, word [rdx]
jmp 0x18013ab8b
xor eax, eax
jmp 0x18013b647
mov qword [rbp + 0x30], 7
xor r14d, r14d
mov qword [rbp + 0x28], r14
mov word [rbp + 0x18], r14w
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x38], r14d
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp + 0x18]
call fcn.180005450
mov dword [rbp + 0x10], r14d
mov dword [rbp + 0x3c], 1
mov rcx, rdi
lea rdx, [rbp + 0x60]
sub rdx, rdi
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x18013ac00
lea rcx, [rbp + 0x60]
call fcn.18015f8a8
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0x10]
lea r8, [rbp + 0x60]
mov rdx, qword [r12 + 8]
mov rcx, r12
call fcn.18013bd10
lea rcx, [rbp + 0x10]
call fcn.18013b9f0
mov ecx, r14d
mov dword [rbp + 0x10], ecx
mov rbx, qword [rbp + 0x40]
mov rax, rbx
mov rdx, qword [rbp + 0x48]
cmp rbx, rdx
je 0x18013ac96
cmp dword [rax], 0
jne 0x18013ac5c
inc ecx
mov dword [rbp + 0x10], ecx
sub rax, 0xffffffffffffff80
cmp rax, rdx
jne 0x18013ac52
cmp rbx, rdx
je 0x18013ac96
add rbx, 8
nop
cmp qword [rbx + 0x18], 8
jb 0x18013ac7c
mov rdx, qword [rbx]
jmp 0x18013ac7f
mov rdx, rbx
lea rcx, [rbx + 0x70]
call fcn.18013bbb0
sub rbx, 0xffffffffffffff80
lea rax, [rbx - 8]
cmp rax, qword [rbp + 0x48]
jne 0x18013ac70
lea rcx, [rbp + 0x10]
call fcn.18013d690
mov qword [rbp - 0x20], 7
mov qword [rbp - 0x28], r14
mov word [rbp - 0x38], r14w
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp], r14
mov dword [rbp - 0x18], r14d
xor r8d, r8d
lea rdx, [0x1801f3ee0]
lea rcx, [rbp - 0x38]
call fcn.180005450
mov dword [rbp - 0x40], r14d
mov dword [rbp - 0x14], 2
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x40]
mov r8, rdi
mov rdx, qword [r12]
mov rcx, r12
call fcn.18013bd10
mov ecx, r14d
mov dword [rbp - 0x40], ecx
mov rbx, qword [rbp - 0x10]
mov rax, rbx
mov rdx, qword [rbp - 8]
cmp rbx, rdx
je 0x18013ad56
nop
cmp dword [rax], 0
jne 0x18013ad1a
inc ecx
mov dword [rbp - 0x40], ecx
sub rax, 0xffffffffffffff80
cmp rax, rdx
jne 0x18013ad10
cmp rbx, rdx
je 0x18013ad56
add rbx, 8
nop dword [rax]
cmp qword [rbx + 0x18], 8
jb 0x18013ad3c
mov rdx, qword [rbx]
jmp 0x18013ad3f
mov rdx, rbx
lea rcx, [rbx + 0x70]
call fcn.18013bbb0
sub rbx, 0xffffffffffffff80
lea rax, [rbx - 8]
cmp rax, qword [rbp - 8]
jne 0x18013ad30
lea rcx, [rbp - 0x40]
call fcn.18013d690
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x18]
call fcn.18000a1e0
test eax, eax
jne 0x18013adde
mov r8, qword [rbp + 0x48]
mov rdi, r8
mov rcx, qword [rbp + 0x40]
sub rdi, rcx
sar rdi, 7
mov r9, qword [rbp - 8]
mov rax, r9
mov rdx, qword [rbp - 0x10]
sub rax, rdx
sar rax, 7
cmp rdi, rax
jne 0x18013adee
mov ebx, r14d
test edi, edi
jle 0x18013ae46
nop word [rax + rax]
movsxd rax, ebx
shl rax, 7
add rdx, 8
add rdx, rax
add rax, 8
add rcx, rax
call fcn.18000a1e0
test eax, eax
jne 0x18013adde
inc ebx
cmp ebx, edi
jge 0x18013ae46
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp - 0x10]
jmp 0x18013adb0
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x40]
mov r9, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov eax, dword [rbp + 0x10]
mov r10d, dword [rbp - 0x40]
cmp eax, r10d
je 0x18013ae3a
jge 0x18013ae27
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.1800e7d60
mov rcx, qword [rbp - 8]
sub rcx, qword [rbp - 0x10]
sar rcx, 7
mov rax, qword [rbp + 0x48]
sub rax, qword [rbp + 0x40]
sar rax, 7
cmp rcx, rax
jae 0x18013ae52
jmp 0x18013ae46
sub r9, rdx
sar r9, 7
sub r8, rcx
sar r8, 7
cmp r8, r9
jae 0x18013ae46
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.1800e7d60
lea rdx, [rbp - 0x40]
mov rcx, r15
call fcn.1800e7d60
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.18012fb10
test eax, eax
je 0x18013b0fd
mov rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0x70]
je 0x18013b0fd
lea rsi, [rax + 0x30]
mov qword [rsp + 0x40], rsi
movzx edi, byte [rsp + 0x30]
nop dword [rax + rax]
mov rbx, qword [r15]
cmp rbx, qword [r15 + 8]
je 0x18013aeca
nop dword [rax]
lea rdx, [rsi - 0x30]
mov rcx, rbx
call fcn.1800e2160
test al, al
jne 0x18013aed6
add rbx, 0x48
cmp rbx, qword [r15 + 8]
jne 0x18013aeb0
lea rdx, [rsi - 0x30]
mov rcx, r15
call fcn.1800e7d60
mov r11, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x40]
sub r11, rbx
sar r11, 7
mov qword [rbp - 0x80], r11
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
sar rdx, 7
lea rax, [r11 - 1]
cmp rdx, rax
ja 0x18013b0da
mov ecx, r11d
sub ecx, edx
mov eax, dword [rsi - 0x30]
sub eax, dword [rbp + 0x10]
add eax, ecx
cmp eax, ecx
jg 0x18013b0da
mov r8, qword [r15]
cmp r8, qword [r15 + 8]
je 0x18013b0da
lea r12, [r8 + 0x18]
mov r13, qword [rbp + 0x28]
nop dword [rax + rax]
lea rcx, [rbp + 0x18]
cmp qword [rbp + 0x30], 8
cmovae rcx, qword [rbp + 0x18]
mov r10, qword [r12]
cmp qword [r12 + 8], 8
jb 0x18013af51
mov rdx, qword [r12 - 0x10]
jmp 0x18013af56
lea rdx, [r12 - 0x10]
mov r9, r13
cmp r10, r13
cmovb r9, r10
test r9, r9
jmp 0x18013af8e
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x18013af7a
add rdx, 2
add rcx, 2
dec r9
jmp 0x18013af8e
mov r9d, 1
cmp word [rdx], ax
mov edx, 0xffffffff
cmovb r9d, edx
jmp 0x18013af96
jne 0x18013af65
or edx, 0xffffffff
mov r9d, r14d
movsxd rax, r9d
test r9d, r9d
jne 0x18013afb0
cmp r10, r13
jae 0x18013afa7
mov eax, edx
jmp 0x18013afb0
mov eax, r14d
cmp r10, r13
setne al
test eax, eax
jne 0x18013b097
mov rcx, qword [r12 + 0x18]
mov rax, qword [r12 + 0x20]
sub rax, rcx
sar rax, 7
cmp rax, r11
jne 0x18013b097
movsxd r15, eax
test eax, eax
jle 0x18013b0aa
lea r10, [rbx + 8]
lea rbx, [rcx + 0x18]
mov rsi, qword [r10 + 0x10]
cmp qword [r10 + 0x18], 8
jb 0x18013aff5
mov rdx, qword [r10]
jmp 0x18013aff8
mov rdx, r10
mov r11, qword [rbx]
cmp qword [rbx + 8], 8
jb 0x18013b008
mov rax, qword [rbx - 0x10]
jmp 0x18013b00c
lea rax, [rbx - 0x10]
mov r9, rsi
cmp r11, rsi
cmovb r9, r11
test r9, r9
jmp 0x18013b04b
movzx ecx, word [rdx]
cmp word [rax], cx
jne 0x18013b035
add rax, 2
add rdx, 2
dec r9
jmp 0x18013b04b
mov r9d, 1
cmp word [rax], cx
mov edx, 0xffffffff
cmovb r9d, edx
xor ecx, ecx
jmp 0x18013b055
jne 0x18013b020
xor ecx, ecx
or edx, 0xffffffff
mov r9d, ecx
movsxd rax, r9d
test r9d, r9d
jne 0x18013b06e
cmp r11, rsi
jae 0x18013b066
mov eax, edx
jmp 0x18013b06e
mov eax, ecx
cmp r11, rsi
setne al
test eax, eax
jne 0x18013b087
inc r14
sub r10, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp r14, r15
jge 0x18013b0aa
jmp 0x18013afe5
mov r11, qword [rbp - 0x80]
mov rbx, qword [rbp + 0x40]
mov r15, qword [rsp + 0x38]
xor r14d, r14d
add r8, 0x48
add r12, 0x48
cmp r8, qword [r15 + 8]
je 0x18013b0d5
jmp 0x18013af30
lea rcx, [r8 + 0x48]
movzx r9d, dil
mov r15, qword [rsp + 0x38]
mov rdx, qword [r15 + 8]
call fcn.1800ef280
mov r8, qword [r15 + 8]
lea rdx, [r8 - 0x48]
mov rcx, r15
call fcn.1800e72b0
add qword [r15 + 8], 0xffffffffffffffb8
mov rsi, qword [rsp + 0x40]
add rsi, 0x48
mov qword [rsp + 0x40], rsi
lea rax, [rsi - 0x30]
cmp rax, qword [rsp + 0x70]
mov r14d, 0
jne 0x18013aea0
mov r12, qword [rsp + 0x48]
xor r9d, r9d
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.18012fb10
mov rcx, qword [rsp + 0x70]
test eax, eax
je 0x18013b397
mov rsi, qword [rsp + 0x68]
cmp rsi, rcx
je 0x18013b397
add rsi, 0x30
mov qword [rsp + 0x40], rsi
movzx edi, byte [rsp + 0x30]
jmp 0x18013b143
xor r14d, r14d
mov rbx, qword [r15]
cmp rbx, qword [r15 + 8]
je 0x18013b16a
nop dword [rax]
lea rdx, [rsi - 0x30]
mov rcx, rbx
call fcn.1800e2160
test al, al
jne 0x18013b176
add rbx, 0x48
cmp rbx, qword [r15 + 8]
jne 0x18013b150
lea rdx, [rsi - 0x30]
mov rcx, r15
call fcn.1800e7d60
mov r11, qword [rbp - 8]
mov rbx, qword [rbp - 0x10]
sub r11, rbx
sar r11, 7
mov qword [rbp - 0x80], r11
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
sar rdx, 7
lea rax, [r11 - 1]
cmp rdx, rax
ja 0x18013b37a
mov ecx, r11d
sub ecx, edx
mov eax, dword [rsi - 0x30]
sub eax, dword [rbp - 0x40]
add eax, ecx
cmp eax, ecx
jg 0x18013b37a
mov r8, qword [r15]
cmp r8, qword [r15 + 8]
je 0x18013b37a
lea r12, [r8 + 0x18]
mov r13, qword [rbp - 0x28]
nop dword [rax + rax]
lea rcx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rcx, qword [rbp - 0x38]
mov r10, qword [r12]
cmp qword [r12 + 8], 8
jb 0x18013b1f1
mov rdx, qword [r12 - 0x10]
jmp 0x18013b1f6
lea rdx, [r12 - 0x10]
mov r9, r13
cmp r10, r13
cmovb r9, r10
test r9, r9
jmp 0x18013b22e
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x18013b21a
add rdx, 2
add rcx, 2
dec r9
jmp 0x18013b22e
mov r9d, 1
cmp word [rdx], ax
mov edx, 0xffffffff
cmovb r9d, edx
jmp 0x18013b236
jne 0x18013b205
or edx, 0xffffffff
mov r9d, r14d
movsxd rax, r9d
test r9d, r9d
jne 0x18013b250
cmp r10, r13
jae 0x18013b247
mov eax, edx
jmp 0x18013b250
mov eax, r14d
cmp r10, r13
setne al
test eax, eax
jne 0x18013b334
mov rcx, qword [r12 + 0x18]
mov rax, qword [r12 + 0x20]
sub rax, rcx
sar rax, 7
cmp rax, r11
jne 0x18013b334
movsxd r15, eax
test eax, eax
jle 0x18013b34a
lea r10, [rbx + 8]
lea rbx, [rcx + 0x18]
mov rsi, qword [r10 + 0x10]
cmp qword [r10 + 0x18], 8
jb 0x18013b295
mov rdx, qword [r10]
jmp 0x18013b298
mov rdx, r10
mov r11, qword [rbx]
cmp qword [rbx + 8], 8
jb 0x18013b2a8
mov rcx, qword [rbx - 0x10]
jmp 0x18013b2ac
lea rcx, [rbx - 0x10]
mov r9, rsi
cmp r11, rsi
cmovb r9, r11
test r9, r9
jmp 0x18013b2eb
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18013b2d5
add rcx, 2
add rdx, 2
dec r9
jmp 0x18013b2eb
mov r9d, 1
cmp word [rcx], ax
mov edx, 0xffffffff
cmovb r9d, edx
xor ecx, ecx
jmp 0x18013b2f5
jne 0x18013b2c0
xor ecx, ecx
or edx, 0xffffffff
mov r9d, ecx
movsxd rax, r9d
test r9d, r9d
jne 0x18013b30e
cmp r11, rsi
jae 0x18013b306
mov eax, edx
jmp 0x18013b30e
mov eax, ecx
cmp r11, rsi
setne al
test eax, eax
jne 0x18013b327
inc r14
sub r10, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp r14, r15
jge 0x18013b34a
jmp 0x18013b285
mov r11, qword [rbp - 0x80]
mov rbx, qword [rbp - 0x10]
mov r15, qword [rsp + 0x38]
add r8, 0x48
add r12, 0x48
cmp r8, qword [r15 + 8]
je 0x18013b375
xor r14d, r14d
jmp 0x18013b1d0
lea rcx, [r8 + 0x48]
movzx r9d, dil
mov r15, qword [rsp + 0x38]
mov rdx, qword [r15 + 8]
call fcn.1800ef280
mov r8, qword [r15 + 8]
lea rdx, [r8 - 0x48]
mov rcx, r15
call fcn.1800e72b0
add qword [r15 + 8], 0xffffffffffffffb8
mov rsi, qword [rsp + 0x40]
add rsi, 0x48
mov qword [rsp + 0x40], rsi
lea rax, [rsi - 0x30]
cmp rax, qword [rsp + 0x70]
jne 0x18013b140
mov r12, qword [rsp + 0x48]
mov rdx, r15
lea rcx, [rbp - 0x78]
call fcn.18012da70
nop
mov rdi, qword [rbp - 0x78]
mov rsi, rdi
mov r14, qword [rbp - 0x70]
cmp rdi, r14
je 0x18013b582
jmp 0x18013b3c5
mov r12, qword [rsp + 0x48]
xor ebx, ebx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov r8, rsi
lea rdx, [rbp - 0x60]
mov rcx, r12
call fcn.18013d450
mov r12, qword [rbp - 0x58]
mov r13, qword [rbp - 0x60]
test eax, eax
je 0x18013b42f
mov rdi, r13
cmp r13, r12
je 0x18013b42f
mov rbx, qword [r15]
cmp rbx, qword [r15 + 8]
je 0x18013b419
nop
mov rdx, rdi
mov rcx, rbx
call fcn.1800e2160
test al, al
jne 0x18013b424
add rbx, 0x48
cmp rbx, qword [r15 + 8]
jne 0x18013b400
mov rdx, rdi
mov rcx, r15
call fcn.1800e7d60
add rdi, 0x48
cmp rdi, r12
jne 0x18013b3f6
xor ebx, ebx
cmp dword [0x180277e78], 0
je 0x18013b4e8
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbx
mov r8, rsi
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
call fcn.18013a300
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
test eax, eax
je 0x18013b4c2
mov rdi, r15
cmp r15, r14
je 0x18013b4c2
nop word [rax + rax]
mov rax, qword [rsp + 0x38]
mov rbx, qword [rax]
cmp rbx, qword [rax + 8]
je 0x18013b4ae
nop
mov rdx, rdi
mov rcx, rbx
call fcn.1800e2160
test al, al
jne 0x18013b4b9
add rbx, 0x48
mov rax, qword [rsp + 0x38]
cmp rbx, qword [rax + 8]
jne 0x18013b490
mov rdx, rdi
mov rcx, rax
call fcn.1800e7d60
add rdi, 0x48
cmp rdi, r14
jne 0x18013b480
test r15, r15
je 0x18013b4df
mov r8, r14
mov rdx, r15
lea rcx, [rsp + 0x50]
call fcn.1800e72b0
mov rcx, r15
call fcn.1800b5354
mov r15, qword [rsp + 0x38]
mov r14, qword [rbp - 0x70]
test r13, r13
je 0x18013b571
cmp r13, r12
je 0x18013b569
lea rbx, [r13 + 0x38]
xor r15d, r15d
nop dword [rax]
lea rcx, [0x1801f3ee0]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rbx - 8]
test rdx, rdx
je 0x18013b536
mov r8, qword [rbx]
lea rcx, [rbx - 8]
call fcn.1800e7210
mov rcx, qword [rbx - 8]
call fcn.1800b5354
mov qword [rbx - 8], r15
mov qword [rbx], r15
mov qword [rbx + 8], r15
cmp qword [rbx - 0x18], 8
jb 0x18013b546
mov rcx, qword [rbx - 0x30]
call fcn.1800b5354
mov qword [rbx - 0x18], 7
mov qword [rbx - 0x20], r15
mov word [rbx - 0x30], r15w
add rbx, 0x48
lea rax, [rbx - 0x38]
cmp rax, r12
jne 0x18013b500
mov r15, qword [rsp + 0x38]
mov rcx, r13
call fcn.1800b5354
add rsi, 0x48
cmp rsi, r14
jne 0x18013b3c0
mov rdi, qword [rbp - 0x78]
mov rdx, r15
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.18013b850
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
lea r8, [rsp + 0x50]
mov rdx, r15
mov rcx, rbx
call fcn.18012eb40
test eax, eax
je 0x18013b5c8
lea r8, [rsp + 0x50]
mov rdx, r15
mov rcx, rbx
call fcn.18012e230
nop
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x18013b5ed
mov r8, qword [rsp + 0x58]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1800e72b0
mov rcx, rbx
call fcn.1800b5354
nop
test rdi, rdi
je 0x18013b60a
mov r8, r14
mov rdx, rdi
lea rcx, [rbp - 0x78]
call fcn.1800e72b0
mov rcx, rdi
call fcn.1800b5354
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x18013b62f
mov r8, qword [rsp + 0x70]
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.1800e72b0
mov rcx, rbx
call fcn.1800b5354
nop
lea rcx, [rbp - 0x40]
call fcn.1800e1160
nop
lea rcx, [rbp + 0x10]
call fcn.1800e1160
mov eax, 1
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1800b5370
mov rbx, qword [rsp + 0x358]
add rsp, 0x300
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret