Function at 0x411509d0
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov qword [rsp + 0x100], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov r14, rcx
mov qword [rsp + 0xa8], rcx
mov rax, qword [rcx + 0x60]
mov rdi, qword [rax + 0x460]
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x41151584
mov r8, qword [rdi + 0x10]
mov rdx, r8
sub rdx, rbx
movabs rax, 0x6666666666666667
imul rdx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x41151584
lea rbp, [rcx + 0x20]
mov qword [rsp + 0xb0], rbp
mov rax, qword [rbp + 8]
test rax, rax
je 0x41151584
mov rcx, qword [rbp + 0x10]
sub rcx, rax
movabs r15, 0x2e8ba2e8ba2e8ba3
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x41151584
xor r13d, r13d
mov r12d, r13d
cmp rbx, r8
jbe 0x41150ab0
call fcn.41211d60
nop
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 8], rsi
jbe 0x41150abf
call fcn.41211d60
cmp rbx, rsi
je 0x41150af0
cmp rbx, qword [rdi + 0x10]
jb 0x41150acf
call fcn.41211d60
mov rax, qword [rbx + 0x90]
shr rax, 1
add r12d, eax
cmp rbx, qword [rdi + 0x10]
jb 0x41150ae7
call fcn.41211d60
add rbx, 0xa0
jmp 0x41150ab0
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa0], r13
mov rax, qword [rbp + 8]
test rax, rax
je 0x41150b3d
mov rcx, qword [rbp + 0x10]
sub rcx, rax
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x41150b42
call fcn.41211d60
mov rdi, qword [rbp + 8]
add rdi, 0x38
mov ebp, r13d
mov rbx, qword [rdi + 8]
cmp rbx, qword [rdi + 0x10]
jbe 0x41150b60
call fcn.41211d60
nop
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 8], rsi
jbe 0x41150b6f
call fcn.41211d60
cmp rbx, rsi
je 0x41150bab
cmp ebp, r12d
jge 0x41150bab
cmp rbx, qword [rdi + 0x10]
jb 0x41150b84
call fcn.41211d60
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.4114db40
add ebp, 1
cmp rbx, qword [rdi + 0x10]
jb 0x41150ba2
call fcn.41211d60
add rbx, 0x98
jmp 0x41150b60
mov rbp, r13
mov qword [rsp + 0x40], r13
mov r12, r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
mov r15, qword [r14 + 8]
mov qword [rsp + 0x80], r15
cmp r15, qword [r14 + 0x10]
jbe 0x41150be1
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0x30]
movzx edi, byte [rsp + 0x30]
nop
nop
mov r13, qword [r14 + 0x10]
cmp qword [r14 + 8], r13
jbe 0x41150c09
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r15, r13
je 0x41151490
mov r13, r12
cmp rbp, r12
jbe 0x41150c29
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r14, rbp
cmp rbp, r12
jbe 0x41150c40
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r14, r13
je 0x41150db8
mov rcx, r12
sub rcx, r13
movabs rax, 0x6bca1af286bca1b
imul rcx
mov r15, rdx
sar r15, 2
mov rax, r15
shr rax, 0x3f
add r15, rax
imul r15, r15, 0x98
add r15, r14
cmp r13, r12
je 0x41150d25
lea rax, [r13 + 0x58]
lea rbp, [r14 + 0x30]
sub r13, r14
mov r14, rax
nop
mov eax, dword [r14 - 0x58]
mov dword [rbp - 0x30], eax
lea rdx, [r14 - 0x50]
lea rcx, [rbp - 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.41022de0
lea rdx, [r13 + rbp]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, rbp
call fcn.41022de0
mov r11d, dword [r14]
mov dword [rbp + 0x28], r11d
movzx eax, byte [r14 + 4]
mov byte [rbp + 0x2c], al
movzx eax, byte [r14 + 5]
mov byte [rbp + 0x2d], al
lea rdx, [r14 + 8]
lea rcx, [rbp + 0x30]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.41022de0
mov r11d, dword [r14 + 0x30]
mov dword [rbp + 0x58], r11d
mov eax, dword [r14 + 0x34]
mov dword [rbp + 0x5c], eax
mov eax, dword [r14 + 0x38]
mov dword [rbp + 0x60], eax
add r14, 0x98
add rbp, 0x98
lea rax, [r14 - 0x58]
cmp rax, r12
jne 0x41150c90
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r15, r12
je 0x41150db0
lea rbp, [r15 + 0x80]
xor r13d, r13d
cmp qword [rbp], 8
jb 0x41150d48
mov rcx, qword [rbp - 0x18]
call fcn.41210d60
mov qword [rbp], 7
mov qword [rbp - 8], r13
mov word [rbp - 0x18], r13w
cmp qword [rbp - 0x30], 8
jb 0x41150d69
mov rcx, qword [rbp - 0x48]
call fcn.41210d60
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], r13
mov word [rbp - 0x48], r13w
cmp qword [rbp - 0x58], 8
jb 0x41150d8a
mov rcx, qword [rbp - 0x70]
call fcn.41210d60
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], r13
mov word [rbp - 0x70], r13w
add rbp, 0x98
lea rax, [rbp - 0x80]
cmp rax, r12
jne 0x41150d38
mov rbp, qword [rsp + 0x40]
mov r12, r15
mov qword [rsp + 0x48], r15
mov rcx, qword [rsp + 0x90]
mov r14, rcx
mov rax, qword [rsp + 0x98]
cmp rcx, rax
jbe 0x41150def
call fcn.41211d60
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
movabs rsi, 0x6bca1af286bca1b
nop
nop
mov r13, rax
cmp rcx, rax
jbe 0x41150e1f
call fcn.41211d60
mov rax, qword [rsp + 0x98]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r14, r13
je 0x41150fd2
cmp r14, rax
jb 0x41150e3c
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
test rbp, rbp
je 0x41150eb2
mov rcx, r12
sub rcx, rbp
mov rax, rsi
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rcx, qword [rsp + 0x50]
sub rcx, rbp
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x41150eb2
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], bl
lea r9, [rsp + 0x38]
mov r8, r14
lea edx, [rax + 1]
mov rcx, r12
call fcn.4114b8e0
add r12, 0x98
mov qword [rsp + 0x48], r12
mov rbp, qword [rsp + 0x40]
jmp 0x41150f9a
mov r13, r12
cmp rbp, r12
jbe 0x41150ec9
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r13
test rbp, rbp
je 0x41150f25
mov rcx, r12
sub rcx, rbp
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x41150f25
cmp rbp, r12
jbe 0x41150f09
call fcn.41211d60
sub r13, rbp
mov rax, rsi
imul r13
mov r13, rdx
sar r13, 2
mov rax, r13
shr rax, 0x3f
add r13, rax
jmp 0x41150f28
xor r13d, r13d
movaps xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0xf0], xmm0
mov r9, r14
mov r8d, 1
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x38]
call fcn.4114bfa0
mov rbp, qword [rsp + 0x40]
mov r15, rbp
mov r12, qword [rsp + 0x48]
cmp rbp, r12
jbe 0x41150f75
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
imul r13, r13, 0x98
lea rax, [r13 + r15]
cmp rax, r12
ja 0x41150f8b
cmp rax, rbp
jae 0x41150f9a
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x98]
cmp r14, rax
jb 0x41150fbe
call fcn.41211d60
mov rax, qword [rsp + 0x98]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
add r14, 0x98
mov rcx, qword [rsp + 0x90]
jmp 0x41150e00
mov r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0xa8]
cmp r15, qword [rax + 0x10]
movzx esi, byte [rsp + 0x30]
jb 0x41150ffc
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r14, qword [r15 + 0x40]
cmp r14, qword [r15 + 0x48]
jbe 0x41151015
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
movabs rbx, 0x6bca1af286bca1b
nop
mov r13, qword [r15 + 0x48]
cmp qword [r15 + 0x40], r13
jbe 0x41151039
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r14, r13
je 0x411511e9
cmp r14, qword [r15 + 0x48]
jb 0x41151057
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
test rbp, rbp
je 0x411510ce
mov rcx, r12
sub rcx, rbp
mov rax, rbx
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rcx, qword [rsp + 0x50]
sub rcx, rbp
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x411510ce
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], dil
lea r9, [rsp + 0x38]
mov r8, r14
lea edx, [rax + 1]
mov rcx, r12
call fcn.4114b8e0
add r12, 0x98
mov qword [rsp + 0x48], r12
mov rbp, qword [rsp + 0x40]
jmp 0x411511c8
mov r13, r12
cmp rbp, r12
jbe 0x411510e5
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], r13
test rbp, rbp
je 0x41151141
mov rcx, r12
sub rcx, rbp
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x41151141
cmp rbp, r12
jbe 0x41151125
call fcn.41211d60
sub r13, rbp
mov rax, rbx
imul r13
mov r13, rdx
sar r13, 2
mov rax, r13
shr rax, 0x3f
add r13, rax
jmp 0x41151144
xor r13d, r13d
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x120], xmm0
mov r9, r14
mov r8d, 1
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x38]
call fcn.4114bfa0
mov rbp, qword [rsp + 0x40]
mov r15, rbp
mov r12, qword [rsp + 0x48]
cmp rbp, r12
jbe 0x41151191
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
imul r13, r13, 0x98
lea rax, [r13 + r15]
cmp rax, r12
ja 0x411511a7
cmp rax, rbp
jae 0x411511c0
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x80]
jmp 0x411511c8
mov r15, qword [rsp + 0x80]
cmp r14, qword [r15 + 0x48]
jb 0x411511dd
call fcn.41211d60
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
add r14, 0x98
jmp 0x41151020
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x130]
call fcn.4114d210
nop
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
test rbp, rbp
mov bl, byte [rsp + 0x30]
je 0x41151289
mov rcx, r12
sub rcx, rbp
movabs r14, 0x2e8ba2e8ba2e8ba3
mov rax, r14
imul rcx
mov r8, rdx
sar r8, 4
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rcx, qword [rsp + 0x78]
sub rcx, rbp
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae 0x41151293
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], sil
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x130]
lea edx, [rax + 1]
mov rcx, r12
call fcn.4114de20
lea r11, [r12 + 0x58]
mov qword [rsp + 0x70], r11
jmp 0x41151372
movabs r14, 0x2e8ba2e8ba2e8ba3
mov r13, r12
cmp rbp, r12
jbe 0x411512aa
call fcn.41211d60
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
lea rax, [rsp + 0x60]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], r13
test rbp, rbp
je 0x41151306
mov rcx, r12
sub rcx, rbp
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x41151306
cmp rbp, r12
jbe 0x411512ea
call fcn.41211d60
sub r13, rbp
mov rax, r14
imul r13
mov rbp, rdx
sar rbp, 4
mov rax, rbp
shr rax, 0x3f
add rbp, rax
jmp 0x41151308
xor ebp, ebp
movaps xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x110], xmm0
lea r9, [rsp + 0x130]
mov r8d, 1
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x60]
call fcn.4114ef30
mov r11, qword [rsp + 0x68]
mov r12, r11
mov rax, qword [rsp + 0x70]
cmp r11, rax
jbe 0x4115135a
call fcn.41211d60
mov rax, qword [rsp + 0x70]
mov r11, qword [rsp + 0x68]
imul rbp, rbp, 0x58
lea rcx, [r12 + rbp]
cmp rcx, rax
ja 0x4115136c
cmp rcx, r11
jae 0x41151372
call fcn.41211d60
nop
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x170]
test rcx, rcx
je 0x41151430
mov r12, qword [rsp + 0x178]
cmp rcx, r12
je 0x4115142b
lea rbp, [rcx + 0x80]
xor r13d, r13d
nop
nop
cmp qword [rbp], 8
jb 0x411513c0
mov rcx, qword [rbp - 0x18]
call fcn.41210d60
mov qword [rbp], 7
mov qword [rbp - 8], r13
mov word [rbp - 0x18], r13w
cmp qword [rbp - 0x30], 8
jb 0x411513e1
mov rcx, qword [rbp - 0x48]
call fcn.41210d60
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], r13
mov word [rbp - 0x48], r13w
cmp qword [rbp - 0x58], 8
jb 0x41151402
mov rcx, qword [rbp - 0x70]
call fcn.41210d60
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], r13
mov word [rbp - 0x70], r13w
add rbp, 0x98
lea rax, [rbp - 0x80]
cmp rax, r12
jne 0x411513b0
mov rcx, qword [rsp + 0x170]
call fcn.41210d60
xor eax, eax
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rax
cmp qword [rsp + 0x158], 8
jb 0x41151462
mov rcx, qword [rsp + 0x140]
call fcn.41210d60
mov r14, qword [rsp + 0xa8]
cmp r15, qword [r14 + 0x10]
jb 0x41151475
call fcn.41211d60
add r15, 0x58
mov qword [rsp + 0x80], r15
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
jmp 0x41150bf0
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
call fcn.41150260
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x4115153c
mov rdi, qword [rsp + 0x48]
cmp rcx, rdi
je 0x41151537
lea rbx, [rcx + 0x80]
xor esi, esi
cmp qword [rbx], 8
jb 0x411514d3
mov rcx, qword [rbx - 0x18]
call fcn.41210d60
mov qword [rbx], 7
mov qword [rbx - 8], rsi
mov word [rbx - 0x18], si
cmp qword [rbx - 0x30], 8
jb 0x411514f2
mov rcx, qword [rbx - 0x48]
call fcn.41210d60
mov qword [rbx - 0x30], 7
mov qword [rbx - 0x38], rsi
mov word [rbx - 0x48], si
cmp qword [rbx - 0x58], 8
jb 0x41151512
mov rcx, qword [rbx - 0x70]
call fcn.41210d60
mov qword [rbx - 0x58], 7
mov qword [rbx - 0x60], rsi
mov word [rbx - 0x70], si
add rbx, 0x98
lea rax, [rbx - 0x80]
cmp rax, rdi
jne 0x411514c4
mov rcx, qword [rsp + 0x40]
call fcn.41210d60
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x88]
call fcn.4114b610
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x41151584
movzx r9d, byte [rsp + 0x30]
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.4114dcd0
mov rcx, qword [rsp + 0x68]
call fcn.41210d60
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.41211b80
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret