Function at 0x551820
Capabilities:
Check for software breakpoints

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x551b3e
push rbp
mov rbp, rsp
sub rsp, 0x70
mov byte [rsp + 0x80], al
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xa0], rsi
mov byte [rsp + 0xa8], r8b
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rdi
lea rax, [0x0059a220]
mov rbx, rsi
lea rcx, [0x005ab20d]
mov edi, 0xe
call fcn.00415d80
mov rdx, qword [rax + 8]
mov rsi, qword [rax]
mov r8, qword [rax + 0x10]
cmp rdx, 1
jle 0x5519e9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x50], rsi
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
call fcn.005363e0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x28], rbx
mov rcx, qword [rsp + 0x50]
lea rdx, [rcx + 0x10]
mov rsi, qword [rsp + 0x30]
lea rdi, [rsi - 1]
jmp 0x5518ef
mov rdx, qword [rsp + 0x58]
add rdx, 0x10
mov rdi, qword [rsp + 0x40]
dec rdi
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
test rdi, rdi
jle 0x551982
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x58], rdx
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
call fcn.005363e0
mov rcx, qword [rsp + 0x28]
cmp rbx, rcx
jne 0x551929
mov rbx, rax
mov rax, qword [rsp + 0x48]
call fcn.00404960
test al, al
jne 0x5518ca
movups xmmword [rsp + 0x60], xmm15
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
nop
call fcn.0040d520
lea rdx, [0x0056c880]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
lea rax, [0x005b7492]
mov ebx, 0x44
lea rcx, [rsp + 0x60]
mov edi, 1
mov rsi, rdi
call fcn.004c9380
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0x70
pop rbp
ret
mov rax, qword [rsp + 0xa0]
lea rbx, [0x005ab20d]
mov ecx, 0xe
call fcn.0054b3c0
mov rax, qword [rsp + 0xa0]
lea rbx, [0x005ab20d]
mov ecx, 0xe
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x28]
call fcn.0054b180
lea rax, [0x0059a220]
mov rbx, qword [rsp + 0xa0]
lea rcx, [0x005ab20d]
mov edi, 0xe
call fcn.00415d80
mov rsi, qword [rax]
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
movzx edi, byte [rsp + 0x80]
test dil, dil
je 0x551a3f
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x50], rsi
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
call fcn.0054f9e0
nop word [rax + rax]
test al, al
jne 0x551b32
mov rdx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
movzx edi, byte [rsp + 0x80]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x88]
mov r10, r9
sar r9, 0x3f
movabs rax, 0xa3d70a3d70a3d70b
mov rcx, rdx
imul r10
add rdx, r10
sar rdx, 6
sub rdx, r9
cmp rdx, 1
je 0x551b26
cmp r10, 0xcc
je 0x551a89
nop dword [rax + rax]
cmp r10, 0x130
jne 0x551a95
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
movzx edx, byte [rsp + 0xa8]
nop dword [rax]
test dl, dl
jne 0x551b15
test rcx, rcx
je 0x551ad3
mov rax, rsi
mov rbx, rcx
mov rcx, r8
call fcn.00552ae0
test rbx, rbx
je 0x551ac9
mov rax, 0xffffffffffffffff
add rsp, 0x70
pop rbp
ret
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
mov rax, qword [rsp + 0xa0]
lea rbx, [0x005ab20d]
mov ecx, 0xe
call fcn.0054b3c0
movzx edx, byte [rsp + 0x80]
test dl, dl
je 0x551b09
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0x70
pop rbp
ret
mov byte [rsp + 8], al
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
nop dword [rax + rax]
call fcn.00470ce0
movzx eax, byte [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
jmp fcn.00551820