Function at 0x41173480
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rbp, rdx
mov r13, rcx
xor ebx, ebx
mov rax, qword [0x41360928]
test rax, rax
jne 0x411734e5
mov ecx, 0x118
call fcn.41211580
mov qword [rsp + 0x100], rax
test rax, rax
je 0x411734db
mov rcx, rax
call fcn.41143320
jmp 0x411734de
mov rax, rbx
mov qword [0x41360928], rax
mov rcx, rax
call fcn.411167f0
mov r14, rax
mov qword [rsp + 0x88], rbx
mov r12, rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov r15, qword [rbp + 8]
cmp r15, qword [rbp + 0x10]
jbe 0x41173531
call fcn.41211d60
mov r12, qword [rsp + 0x90]
mov rbx, qword [rbp + 0x10]
cmp qword [rbp + 8], rbx
jbe 0x41173548
call fcn.41211d60
mov r12, qword [rsp + 0x90]
cmp r15, rbx
je 0x41173ae9
mov rdi, qword [rsp + 0x70]
cmp qword [rsp + 0x68], rdi
jbe 0x4117356a
call fcn.41211d60
mov r12, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
cmp rbx, qword [rsp + 0x70]
jbe 0x41173583
call fcn.41211d60
mov r12, qword [rsp + 0x90]
cmp rbx, rdi
je 0x411735c0
mov rax, qword [rsp + 0x70]
sub rax, rdi
sar rax, 3
lea rdx, [rax*8]
lea rsi, [rdx + rbx]
test rax, rax
jle 0x411735bb
mov r9, rdx
mov r8, rdi
mov rcx, rbx
call fcn.41211980
mov r12, qword [rsp + 0x90]
mov qword [rsp + 0x70], rsi
mov rbx, r12
cmp qword [rsp + 0x88], r12
jbe 0x411735da
call fcn.41211d60
mov r12, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
cmp rsi, r12
jbe 0x411735f4
call fcn.41211d60
mov r12, qword [rsp + 0x90]
cmp rsi, rbx
je 0x411737a6
mov rcx, r12
sub rcx, rbx
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
mov r13, rdx
sar r13, 4
mov rax, r13
shr rax, 0x3f
add r13, rax
imul r13, r13, 0x58
add r13, rsi
cmp rbx, r12
je 0x41173695
lea rbp, [rbx + 0x34]
lea rdi, [rsi + 0x30]
sub rbx, rsi
nop
nop
mov eax, dword [rbp - 0x34]
mov dword [rdi - 0x30], eax
lea rdx, [rbp - 0x2c]
lea rcx, [rdi - 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
call fcn.41022de0
mov r11d, dword [rbx + rdi]
mov dword [rdi], r11d
mov eax, dword [rbp]
mov dword [rdi + 4], eax
lea rdx, [rbp + 4]
lea rcx, [rdi + 8]
call fcn.4114c630
add rbp, 0x58
add rdi, 0x58
lea rax, [rbp - 0x34]
cmp rax, r12
jne 0x41173640
mov r12, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xf8]
cmp r13, r12
je 0x41173796
lea rdi, [r13 + 0x40]
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rbx, qword [rdi]
test rbx, rbx
je 0x41173758
mov rsi, qword [rdi + 8]
cmp rbx, rsi
je 0x41173750
sub rbx, 0xffffffffffffff80
nop
cmp qword [rbx], 8
jb 0x411736df
mov rcx, qword [rbx - 0x18]
call fcn.41210d60
mov qword [rbx], 7
mov qword [rbx - 8], 0
mov word [rbx - 0x18], 0
cmp qword [rbx - 0x30], 8
jb 0x41173704
mov rcx, qword [rbx - 0x48]
call fcn.41210d60
mov qword [rbx - 0x30], 7
mov qword [rbx - 0x38], 0
mov word [rbx - 0x48], 0
cmp qword [rbx - 0x58], 8
jb 0x4117372a
mov rcx, qword [rbx - 0x70]
call fcn.41210d60
mov qword [rbx - 0x58], 7
mov qword [rbx - 0x60], 0
mov word [rbx - 0x70], 0
add rbx, 0x98
lea rax, [rbx - 0x80]
cmp rax, rsi
jne 0x411736d0
mov rcx, qword [rdi]
call fcn.41210d60
xor ebx, ebx
mov qword [rdi], rbx
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], rbx
cmp qword [rdi - 0x18], 8
jb 0x41173775
mov rcx, qword [rdi - 0x30]
call fcn.41210d60
mov qword [rdi - 0x18], 7
mov qword [rdi - 0x20], rbx
mov word [rdi - 0x30], bx
add rdi, 0x58
lea rax, [rdi - 0x40]
cmp rax, r12
jne 0x411736a2
mov qword [rsp + 0x90], r13
mov r13, qword [rsp + 0xf0]
cmp r15, qword [rbp + 0x10]
jb 0x411737b1
call fcn.41211d60
mov rdx, r15
lea rcx, [rsp + 0x80]
call fcn.411504a0
cmp r15, qword [rbp + 0x10]
jb 0x411737cc
call fcn.41211d60
cmp dword [r13 + 0x3668], 0
je 0x41173815
mov rax, qword [0x41360970]
test rax, rax
jne 0x4117380a
lea ecx, [rax + 0x68]
call fcn.41211580
mov qword [rsp + 0x100], rax
test rax, rax
je 0x41173801
mov rcx, rax
call fcn.4114fac0
jmp 0x41173803
xor eax, eax
mov qword [0x41360970], rax
mov rdx, r15
mov rcx, rax
call fcn.41151a70
xor r9d, r9d
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x80]
mov rcx, r13
call fcn.411728c0
mov r11, qword [rsp + 0x70]
mov rdi, r11
mov rbx, qword [rsp + 0x68]
cmp rbx, r11
jbe 0x4117384e
call fcn.41211d60
mov r11, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
cmp rbx, r11
jbe 0x41173858
call fcn.41211d60
cmp rbx, rdi
je 0x4117387a
lea rax, [0x41142d90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.41145680
cmp r15, qword [rbp + 0x10]
jb 0x41173885
call fcn.41211d60
xor r12b, r12b
mov bpl, 0xff
lea rdi, [r15 + 0x38]
mov rbx, qword [rdi + 8]
cmp rbx, qword [rdi + 0x10]
jbe 0x411738a0
call fcn.41211d60
nop
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 8], rsi
jbe 0x411738af
call fcn.41211d60
cmp rdi, rdi
je 0x411738b9
call fcn.41211d60
cmp rbx, rsi
je 0x41173917
cmp rbx, qword [rdi + 0x10]
jb 0x411738c9
call fcn.41211d60
cmp dword [rbx + 0x58], 0
je 0x41173903
cmp rbx, qword [rdi + 0x10]
jb 0x411738da
call fcn.41211d60
cmp byte [rbx + 0x5c], 0
jbe 0x41173903
cmp rbx, qword [rdi + 0x10]
jb 0x411738eb
call fcn.41211d60
cmp bpl, byte [rbx + 0x5c]
jbe 0x41173903
mov r12b, 1
cmp rbx, qword [rdi + 0x10]
jb 0x411738ff
call fcn.41211d60
movzx ebp, byte [rbx + 0x5c]
cmp rbx, qword [rdi + 0x10]
jb 0x4117390e
call fcn.41211d60
add rbx, 0x98
jmp 0x411738a0
test r12b, r12b
je 0x41173ac5
xor esi, esi
movzx eax, bpl
test eax, eax
jle 0x41173ac5
xor ebp, ebp
mov r12, rax
nop
nop
nop
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x41173ab3
mov rax, qword [rsp + 0x70]
sub rax, rbx
sar rax, 3
cmp rax, rbp
jbe 0x41173ab3
mov rax, qword [0x413611e0]
test rax, rax
jne 0x41173997
lea ecx, [rax + 8]
call fcn.41211580
mov qword [rsp + 0x100], rax
test rax, rax
je 0x4117398e
mov rcx, rax
call fcn.4115bb10
jmp 0x41173990
xor eax, eax
mov qword [0x413611e0], rax
mov rcx, rax
call fcn.411523c0
mov rbx, rax
mov qword [rsp + 0x100], rax
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x411739c5
mov rcx, qword [rsp + 0x70]
sub rcx, rdx
sar rcx, 3
cmp rsi, rcx
jb 0x411739cf
call fcn.41211d60
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + rsi*8]
mov rcx, rbx
call fcn.41069540
mov dword [rbx + 8], 0x28
mov rdx, qword [r14 + 8]
test rdx, rdx
jne 0x411739ef
xor ecx, ecx
jmp 0x411739fa
mov rcx, qword [r14 + 0x10]
sub rcx, rdx
sar rcx, 3
test rdx, rdx
je 0x41173a23
mov rax, qword [r14 + 0x18]
sub rax, rdx
sar rax, 3
cmp rcx, rax
jae 0x41173a23
mov rax, qword [r14 + 0x10]
mov qword [rax], rbx
add rax, 8
mov qword [r14 + 0x10], rax
jmp 0x41173ab3
mov rbx, qword [r14 + 0x10]
cmp rdx, rbx
jbe 0x41173a31
call fcn.41211d60
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x41173a67
mov rcx, qword [r14 + 0x10]
mov rax, rcx
sub rax, rdi
sar rax, 3
je 0x41173a67
cmp rdi, rcx
jbe 0x41173a5e
call fcn.41211d60
sub rbx, rdi
sar rbx, 3
jmp 0x41173a69
xor ebx, ebx
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea r9, [rsp + 0x100]
mov r8d, 1
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.410d76c0
mov rdi, qword [r14 + 8]
cmp rdi, qword [r14 + 0x10]
jbe 0x41173a9e
call fcn.41211d60
lea rax, [rdi + rbx*8]
cmp rax, qword [r14 + 0x10]
ja 0x41173aae
cmp rax, qword [r14 + 8]
jae 0x41173ab3
call fcn.41211d60
add rbp, 1
add rsi, 1
sub r12, 1
jne 0x41173940
mov rbp, qword [rsp + 0xf8]
cmp r15, qword [rbp + 0x10]
jb 0x41173ad8
call fcn.41211d60
add r15, 0x58
mov r12, qword [rsp + 0x90]
jmp 0x41173531
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x41173b03
mov rcx, rbx
call fcn.41210d60
mov r12, qword [rsp + 0x90]
xor r13d, r13d
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x41173c2a
cmp rsi, r12
je 0x41173c1d
add rsi, 0x40
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdi, qword [rsi]
test rdi, rdi
je 0x41173bdf
mov rbp, qword [rsi + 8]
cmp rdi, rbp
je 0x41173bd7
lea rbx, [rdi + 0x80]
cmp qword [rbx], 8
jb 0x41173b6f
mov rcx, qword [rbx - 0x18]
call fcn.41210d60
mov qword [rbx], 7
mov qword [rbx - 8], r13
mov word [rbx - 0x18], 0
cmp qword [rbx - 0x30], 8
jb 0x41173b90
mov rcx, qword [rbx - 0x48]
call fcn.41210d60
mov qword [rbx - 0x30], 7
mov qword [rbx - 0x38], r13
mov word [rbx - 0x48], 0
cmp qword [rbx - 0x58], 8
jb 0x41173bb2
mov rcx, qword [rbx - 0x70]
call fcn.41210d60
mov qword [rbx - 0x58], 7
mov qword [rbx - 0x60], r13
mov word [rbx - 0x70], 0
add rdi, 0x98
add rbx, 0x98
cmp rdi, rbp
jne 0x41173b60
mov rcx, qword [rsi]
call fcn.41210d60
mov qword [rsi], r13
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], r13
cmp qword [rsi - 0x18], 8
jb 0x41173bfa
mov rcx, qword [rsi - 0x30]
call fcn.41210d60
mov qword [rsi - 0x18], 7
mov qword [rsi - 0x20], r13
mov word [rsi - 0x30], 0
add rsi, 0x58
lea rax, [rsi - 0x40]
cmp rax, r12
jne 0x41173b33
mov rcx, qword [rsp + 0x88]
call fcn.41210d60
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret