Function at 0x4114ef30
Capabilities:
Print debug messages

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rbx, r9
mov r12, r8
mov r13, rdx
mov qword [rsp + 0x50], rdx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
mov eax, dword [r9]
mov dword [rsp + 0x80], eax
lea rdx, [r9 + 8]
mov qword [rsp + 0xa8], 7
xor edi, edi
mov qword [rsp + 0xa0], rdi
mov word [rsp + 0x90], di
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x88]
call fcn.41022de0
nop
mov eax, dword [rbx + 0x30]
mov dword [rsp + 0xb0], eax
mov eax, dword [rbx + 0x34]
mov dword [rsp + 0xb4], eax
lea rdx, [rbx + 0x38]
lea rcx, [rsp + 0xb8]
call fcn.4114bd00
nop
mov r8, qword [rsi + 8]
test r8, r8
jne 0x4114effd
mov rbx, rdi
movabs r14, 0x2e8ba2e8ba2e8ba3
jmp 0x4114f025
mov rcx, qword [rsi + 0x18]
sub rcx, r8
movabs r14, 0x2e8ba2e8ba2e8ba3
mov rax, r14
imul rcx
mov rbx, rdx
sar rbx, 4
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test r12, r12
je 0x4114f415
test r8, r8
jne 0x4114f038
mov rdx, rdi
jmp 0x4114f053
mov rcx, qword [rsi + 0x10]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movabs r9, 0x2e8ba2e8ba2e8ba
mov rax, r9
sub rax, rdx
cmp rax, r12
jae 0x4114f06e
call fcn.410bce00
int3
test r8, r8
jne 0x4114f078
mov rdx, rdi
jmp 0x4114f093
mov rcx, qword [rsi + 0x10]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + r12]
cmp rbx, rax
jae 0x4114f268
mov rax, rbx
shr rax, 1
sub r9, rax
cmp r9, rbx
jae 0x4114f0b3
mov rbx, rdi
jmp 0x4114f0b6
add rbx, rax
test r8, r8
jne 0x4114f0c0
mov rdx, rdi
jmp 0x4114f0db
mov rcx, qword [rsi + 0x10]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + r12]
cmp rbx, rax
jae 0x4114f10d
test r8, r8
jne 0x4114f0ee
mov rdx, rdi
jmp 0x4114f109
mov rcx, qword [rsi + 0x10]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rbx, [rdx + r12]
mov rcx, rbx
test rbx, rbx
jne 0x4114f11a
mov rcx, rdi
jmp 0x4114f15b
xor edx, edx
or rax, 0xffffffffffffffff
div rbx
cmp rax, 0x58
jae 0x4114f15b
mov qword [rsp + 0x38], rdi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x68]
call fcn.41211640
lea r11, [0x412991f0]
mov qword [rsp + 0x68], r11
lea rdx, [0x4132ad60]
lea rcx, [rsp + 0x68]
call fcn.41211a10
int3
imul rcx, rcx, 0x58
call fcn.41211580
mov r13, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
xor eax, eax
mov byte [rsp + 0x28], al
movzx edx, byte [rsp + 0x30]
mov byte [rsp + 0x20], dl
mov r9, rsi
mov r8, r13
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 8]
mov rcx, qword [rsi + 8]
call fcn.4114ca40
mov r15, rax
mov qword [rsp + 0x48], rax
xor eax, eax
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
mov r9, rsi
lea r8, [rsp + 0x80]
mov rdx, r12
mov rcx, r15
call fcn.4114de20
mov rax, r12
imul rax, rax, 0x58
add r15, rax
mov qword [rsp + 0x48], r15
xor eax, eax
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
mov r9, rsi
mov r8, r15
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 8]
call fcn.4114ca40
nop
mov r10, qword [rsi + 8]
test r10, r10
je 0x4114f223
mov rcx, qword [rsi + 0x10]
sub rcx, r10
mov rax, r14
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
add r12, rdi
test r10, r10
je 0x4114f249
movzx r9d, byte [rsp + 0x30]
mov r8, rsi
mov rdx, qword [rsi + 0x10]
mov rcx, r10
call fcn.4114dcd0
mov rcx, qword [rsi + 8]
call fcn.41210d60
imul rbx, rbx, 0x58
add rbx, r13
mov qword [rsi + 0x18], rbx
imul r12, r12, 0x58
add r12, r13
mov qword [rsi + 0x10], r12
mov qword [rsi + 8], r13
jmp 0x4114f415
mov r15, qword [rsi + 0x10]
mov rdi, qword [r13 + 8]
mov rcx, r15
sub rcx, rdi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r12
jae 0x4114f376
mov r13, r12
imul r13, r13, 0x58
lea r8, [r13 + rdi]
xor eax, eax
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
mov r9, rsi
mov rdx, r15
mov rcx, rdi
call fcn.4114ca40
nop
mov r10, qword [rsi + 0x10]
mov rcx, r10
sub rcx, rdi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r12, rdx
xor eax, eax
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
mov r9, rsi
lea r8, [rsp + 0x80]
mov rdx, r12
mov rcx, r10
call fcn.4114de20
nop
add qword [rsi + 0x10], r13
mov rbx, qword [rsi + 0x10]
sub rbx, r13
cmp rdi, rbx
je 0x4114f415
nop
nop
mov eax, dword [rsp + 0x80]
mov dword [rdi], eax
lea rcx, [rdi + 8]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x88]
call fcn.41022de0
mov r11d, dword [rsp + 0xb0]
mov dword [rdi + 0x30], r11d
mov eax, dword [rsp + 0xb4]
mov dword [rdi + 0x34], eax
lea rcx, [rdi + 0x38]
lea rdx, [rsp + 0xb8]
call fcn.4114c630
add rdi, 0x58
cmp rdi, rbx
jne 0x4114f320
jmp 0x4114f415
imul r12, r12, 0x58
mov rbx, r15
sub rbx, r12
xor eax, eax
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x20], al
mov r9, rsi
mov r8, r15
mov rdx, r15
mov rcx, rbx
call fcn.4114ca40
mov qword [rsi + 0x10], rax
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.4114ec50
lea rbx, [r12 + rdi]
cmp rdi, rbx
je 0x4114f415
add rdi, 0x30
nop
mov eax, dword [rsp + 0x80]
mov dword [rdi - 0x30], eax
lea rcx, [rdi - 0x28]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x88]
call fcn.41022de0
mov r11d, dword [rsp + 0xb0]
mov dword [rdi], r11d
mov eax, dword [rsp + 0xb4]
mov dword [rdi + 4], eax
lea rcx, [rdi + 8]
lea rdx, [rsp + 0xb8]
call fcn.4114c630
add rdi, 0x58
lea rax, [rdi - 0x30]
cmp rax, rbx
jne 0x4114f3c0
lea rcx, [0x412a02a8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [rsp + 0xb8]
call fcn.4114b610
cmp qword [rsp + 0xa8], 8
jb 0x4114f447
mov rcx, qword [rsp + 0x90]
call fcn.41210d60
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.41211b80
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret