Function at 0x616560
Capabilities:
Check for software breakpoints

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x616bad
sub rsp, 0xa8
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xa0]
mov byte [rsp + 0xb0], al
mov qword [rsp + 0xb8], rbx
mov byte [rsp + 0xd8], r8b
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x88], rsi
lea rax, [0x006a4460]
mov rbx, rsi
lea rcx, [0x006b74df]
mov edi, 0xe
call fcn.00412800
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
nop dword [rax + rax]
cmp rbx, 1
jle 0x6165f2
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
jmp 0x6168a0
mov rsi, qword [rsp + 0xc8]
nop word [rax + rax]
cmp rsi, 4
jne 0x6166be
mov rsi, qword [rsp + 0xc0]
cmp dword [rsi], 0x44414548
jne 0x6166be
movzx esi, byte [rsp + 0xb0]
test sil, sil
jne 0x6166a8
test rbx, rbx
je 0x6166a8
cmp rbx, 1
jne 0x616647
mov rsi, qword [rdx]
cmp qword [rdx + 8], 1
nop
jne 0x616647
cmp byte [rsi], 0x30
je 0x6166a8
movups xmmword [rsp + 0x90], xmm15
mov rax, rdx
call fcn.0040af60
lea rdx, [0x00662b40]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rax
lea rax, [0x006c9e93]
mov ebx, 0x34
lea rcx, [rsp + 0x90]
mov edi, 1
mov rsi, rdi
call fcn.004ea880
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
movabs rax, 0xa3d70a3d70a3d70b
mov rsi, qword [rsp + 0xb8]
mov rcx, rdx
imul rsi
add rdx, rsi
sar rdx, 6
mov rdi, rsi
sar rsi, 0x3f
sub rdx, rsi
cmp rdx, 1
je 0x616754
cmp rdi, 0xcc
je 0x61673e
cmp rdi, 0x130
je 0x61673e
movzx edx, byte [rsp + 0xd8]
test dl, dl
jne 0x616723
cmp rbx, 1
jne 0x61671d
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
jmp 0x61682b
xor eax, eax
xor ecx, ecx
jmp 0x61676a
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
test rax, rax
je 0x6167aa
mov rbx, rax
mov rax, rcx
call fcn.00617f20
test rbx, rbx
je 0x616796
mov rax, 0xffffffffffffffff
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
nop
nop
lea rax, [0x006b74df]
mov ebx, 0xe
call fcn.005cf420
mov rcx, rax
mov rdi, rbx
lea rax, [0x00692860]
mov rbx, qword [rsp + 0x88]
call fcn.00413440
movzx ecx, byte [rsp + 0xb0]
nop
test cl, cl
je 0x6167ff
mov rax, 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
dec rcx
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
add rdx, rcx
mov rcx, rsi
test rcx, rcx
je 0x616851
movzx esi, byte [rdx]
cmp sil, 0x20
je 0x616815
cmp sil, 9
je 0x616815
nop
cmp sil, 0xa
je 0x616815
cmp sil, 0xd
je 0x616815
jmp 0x616851
dec rcx
test rcx, rcx
je 0x616878
movzx esi, byte [rcx + rdx - 1]
nop dword [rax + rax]
cmp sil, 0x20
je 0x61684e
cmp sil, 9
je 0x61684e
cmp sil, 0xa
je 0x61684e
cmp sil, 0xd
je 0x61684e
mov rax, rcx
mov rcx, rdx
nop
jmp 0x61676a
dec rdi
mov r8, rdi
neg rdi
sar rdi, 0x3f
and edi, 1
add rsi, rdi
mov rdi, r8
nop dword [rax + rax]
test rdi, rdi
je 0x6168cb
movzx r8d, byte [rsi]
cmp r8b, 0x20
je 0x616885
cmp r8b, 9
je 0x616885
cmp r8b, 0xa
je 0x616885
nop dword [rax + rax]
cmp r8b, 0xd
je 0x616885
jmp 0x6168cb
dec rdi
test rdi, rdi
je 0x6168f8
movzx r8d, byte [rsi + rdi - 1]
cmp r8b, 0x20
je 0x6168c8
nop dword [rax]
cmp r8b, 9
je 0x6168c8
cmp r8b, 0xa
je 0x6168c8
cmp r8b, 0xd
je 0x6168c8
cmp rbx, 1
jmp 0x6168fc
cmp rbx, 1
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x68], rsi
je 0x61692b
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x50], rcx
lea r8, [rdx + 0x10]
lea r9, [rbx - 1]
mov qword [rsp + 0x60], r9
xor eax, eax
jmp 0x616a71
nop
nop
lea rax, [0x006b74df]
mov ebx, 0xe
call fcn.005cf420
mov rcx, rax
mov rdi, rbx
lea rax, [0x00692860]
mov rbx, qword [rsp + 0x88]
call fcn.00413440
nop
nop
lea rax, [0x006b74df]
mov ebx, 0xe
call fcn.005cf420
mov rcx, rax
mov rdi, rbx
lea rax, [0x00692860]
mov rbx, qword [rsp + 0x88]
call fcn.00413020
mov rsi, qword [rax + 8]
mov rbx, qword [rax]
mov rdi, qword [rax + 0x10]
lea rcx, [rsi + 1]
cmp rdi, rcx
jae 0x6169de
mov qword [rsp + 0x80], rax
lea rax, [0x006654e0]
mov rdx, rcx
mov rcx, rsi
mov rsi, rdx
call fcn.0044b680
mov rdi, qword [rsp + 0x80]
mov qword [rdi + 0x10], rcx
cmp dword [0x00913f20], 0
jne 0x6169d0
mov qword [rdi], rax
jmp 0x6169d5
call fcn.00464be0
mov rsi, rbx
mov rbx, rax
mov rax, rdi
lea rdx, [rsi + 1]
mov qword [rax + 8], rdx
shl rsi, 4
mov rdx, qword [rsp + 0x40]
mov qword [rbx + rsi + 8], rdx
lea rdi, [rbx + rsi]
cmp dword [0x00913f20], 0
nop
jne 0x616a0d
mov rdx, qword [rsp + 0x68]
mov qword [rbx + rsi], rdx
jmp 0x616a17
mov rdx, qword [rsp + 0x68]
call fcn.00464d00
lea rax, [0x006a4460]
mov rbx, qword [rsp + 0x88]
lea rcx, [0x006b74df]
mov edi, 0xe
call fcn.00412800
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
jmp 0x6165f2
mov r8, qword [rsp + 0x78]
add r8, 0x10
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
mov rax, rdx
mov rdx, qword [rsp + 0x70]
mov r10, qword [r8]
mov r11, qword [r8 + 8]
jmp 0x616ae0
cmp r11, rdi
jne 0x616b4c
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x78], r8
mov rax, rsi
mov rbx, r10
mov rcx, rdi
nop dword [rax]
call fcn.00402da0
test al, al
je 0x616b3d
mov rdx, qword [rsp + 0x58]
inc rdx
mov rsi, qword [rsp + 0x60]
cmp rdx, rsi
jl 0x616a47
nop
jmp 0x61692b
dec r11
mov r12, r11
neg r11
sar r11, 0x3f
and r11d, 1
add r10, r11
mov r11, r12
nop dword [rax]
test r11, r11
je 0x616b0b
movzx r12d, byte [r10]
cmp r12b, 0x20
je 0x616ac5
cmp r12b, 9
je 0x616ac5
cmp r12b, 0xa
je 0x616ac5
nop dword [rax + rax]
cmp r12b, 0xd
je 0x616ac5
jmp 0x616b0b
dec r11
test r11, r11
je 0x616a80
movzx r12d, byte [r10 + r11 - 1]
nop word [rax + rax]
cmp r12b, 0x20
je 0x616b08
cmp r12b, 9
je 0x616b08
cmp r12b, 0xa
je 0x616b08
cmp r12b, 0xd
je 0x616b08
jmp 0x616a80
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x48]
movups xmmword [rsp + 0x90], xmm15
mov rax, rdx
call fcn.0040af60
lea rdx, [0x00662b40]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rax
lea rax, [0x006cd4b7]
mov ebx, 0x44
lea rcx, [rsp + 0x90]
mov edi, 1
mov rsi, rdi
call fcn.004ea880
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
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
call fcn.004629a0
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.00616560