Function at 0x630780
Capabilities:
Check for software breakpoints

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x63104c
sub rsp, 0xc8
mov qword [rsp + 0xc0], rbp
lea rbp, [rsp + 0xc0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xd0], rax
cmp byte [rax + 0x50], 0
jne 0x6307f6
mov ebx, 0xc8
call fcn.00631f80
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe8]
cmp byte [rax + 0x52], 0
je 0x630825
nop dword [rax]
call fcn.00631080
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe8]
mov rdx, qword [rax + 8]
mov r9, qword [rdx]
cmp qword [rdx + 8], 4
jne 0x63083f
cmp dword [r9], 0x44414548
sete dl
jmp 0x630841
xor edx, edx
cmp byte [rax + 0x51], 0
jne 0x630b60
mov byte [rsp + 0x35], dl
mov byte [rax + 0x51], 1
mov rdx, qword [rax + 0x28]
lea rbx, [0x0079770e]
mov ecx, 0xe
mov rax, rdx
call fcn.005eea40
test rbx, rbx
je 0x630902
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x50], rbx
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rcx + 0x28]
mov qword [rsp + 0x70], rdx
nop
lea rax, [0x0079770e]
mov ebx, 0xe
nop
call fcn.005f01e0
mov rcx, rax
mov rdi, rbx
lea rax, [0x007690a0]
mov rbx, qword [rsp + 0x70]
call fcn.00413900
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x50]
mov ecx, 0xa
mov edi, 0x3f
call fcn.00480ac0
test rbx, rbx
je 0x6308e3
xor eax, eax
xor ecx, ecx
jmp 0x6308fc
mov rdx, qword [rsp + 0xd0]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x88]
mov rbx, rax
mov rax, rcx
test rbx, rbx
jne 0x630967
mov rdx, qword [rsp + 0xd0]
cmp byte [rdx + 0x52], 0
je 0x63096f
mov rsi, qword [rdx + 0x48]
lea r8, [rsi - 0x64]
nop dword [rax]
cmp r8, 0x63
jbe 0x63096f
cmp rsi, 0xcc
je 0x63096f
cmp rsi, 0x130
je 0x63096f
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
jne 0x630950
movzx r8d, byte [rsp + 0x35]
test r8b, r8b
jne 0x63096f
mov rax, rsi
mov ebx, 0xa
call fcn.00485ba0
mov rdx, qword [rsp + 0xd0]
jmp 0x63096f
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x88], rax
mov rsi, qword [rdx + 0x28]
lea rcx, [0x0079685e]
mov edi, 0xc
lea rax, [0x0077c280]
mov rbx, rsi
call fcn.004130c0
mov byte [rsp + 0x36], bl
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx + 0x28]
mov ecx, 0x10
lea rbx, [0x00798575]
call fcn.005eea40
nop dword [rax]
test rbx, rbx
je 0x6309d6
mov rdx, qword [rsp + 0xd0]
xor eax, eax
xor ecx, ecx
jmp 0x630a57
movzx edx, byte [rsp + 0x36]
test dl, dl
je 0x6309ed
mov rdx, qword [rsp + 0xd0]
xor eax, eax
xor ecx, ecx
jmp 0x630a57
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x48]
lea r8, [rsi - 0x64]
nop dword [rax]
cmp r8, 0x63
ja 0x630a0c
xor eax, eax
xor ecx, ecx
jmp 0x630a57
cmp rsi, 0xcc
je 0x630a1e
cmp rsi, 0x130
jne 0x630a24
xor eax, eax
xor ecx, ecx
jmp 0x630a57
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
jne 0x630a37
xor eax, eax
xor ecx, ecx
jmp 0x630a57
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
call fcn.00658ba0
mov rdx, qword [rsp + 0xd0]
mov rcx, rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x80], rax
mov rbx, qword [rdx + 0x28]
mov edi, 4
lea rax, [0x0077c280]
lea rcx, [0x00793e89]
nop dword [rax + rax]
call fcn.004130c0
test bl, bl
je 0x630a92
xor eax, eax
xor ebx, ebx
jmp 0x630b19
call fcn.004b81e0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rcx
nop
nop
mov rax, qword [rsp + 0xa8]
bt rax, 0x3f
nop
jae 0x630aea
shl rax, 1
shr rax, 0x1f
movabs rdx, 0xdd7b17f80
add rdx, rax
mov qword [rsp + 0xb0], rdx
and qword [rsp + 0xa8], 0x3fffffff
mov qword [rsp + 0xb8], 0
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
xor ecx, ecx
lea rdi, [0x007a5585]
mov esi, 0x1d
call fcn.004aff80
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x00794c86]
mov edi, 7
lea rax, [0x0077c280]
mov rbx, rsi
call fcn.00412cc0
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov qword [rsp + 0x60], rsi
xor eax, eax
jmp 0x630e00
test dl, dl
jne 0x630b97
test rcx, rcx
jne 0x630b85
cmp byte [rax + 0x52], 0
jne 0x630b85
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
nop
mov rdx, qword [rax + 0x30]
mov r9, qword [rax + 0x38]
mov qword [rsp + 0x60], r9
xor esi, esi
jmp 0x630be7
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rdx, qword [rsp + 0x90]
add rdx, 0x10
mov rsi, qword [rsp + 0x58]
inc rsi
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x58], rsi
cmp rsi, r9
jge 0x630c3e
mov qword [rsp + 0x90], rdx
mov rcx, qword [rdx]
mov rdi, qword [rdx + 8]
mov rbx, qword [rax + 0x20]
lea rax, [0x0077c280]
call fcn.004130c0
test bl, bl
je 0x630bae
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x60]
cmp byte [rax + 0x52], 0
je 0x630c4f
cmp rsi, r9
setge dl
test rcx, rcx
jmp 0x630c57
test rcx, rcx
mov edx, 0
jne 0x630c5d
test dl, dl
je 0x630cc6
mov r9, qword [rax + 0x10]
mov r10, qword [rax]
mov rsi, rdi
mov r8d, edx
mov rdi, rcx
mov rcx, rbx
mov rbx, r10
mov rax, r9
call fcn.00629020
nop dword [rax + rax]
test rax, rax
jne 0x630ca2
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
nop
jmp 0x630cc6
mov rdx, qword [rsp + 0xd0]
mov byte [rdx + 0x53], 1
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
cmp byte [rax + 0x52], 0
je 0x630d85
cmp rsi, r9
jge 0x630d85
lea rax, [0x0077a5c0]
call fcn.0040da80
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rcx]
mov edx, dword [rdx + 8]
mov dword [rax], edx
mov rdx, qword [rcx + 0x20]
cmp dword [0x00aac840], 0
jne 0x630d08
mov qword [rax + 0x10], rdx
jmp 0x630d11
lea rdi, [rax + 0x10]
call fcn.00466000
mov rdx, qword [rcx + 0x30]
mov rsi, qword [rcx + 0x38]
mov r8, qword [rcx + 0x40]
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], r8
cmp dword [0x00aac840], 0
jne 0x630d34
mov qword [rax + 0x18], rdx
jmp 0x630d3d
lea rdi, [rax + 0x18]
call fcn.00466000
mov byte [rax + 0x30], 1
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rsi, rax
mov rax, rdx
mov rcx, rsi
call fcn.0062fae0
test rax, rax
je 0x630d67
mov rdx, qword [rsp + 0xd0]
mov byte [rdx + 0x53], 1
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x90], rdx
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
movups xmmword [rsp + 0x98], xmm15
lea rsi, [0x00679f40]
mov qword [rsp + 0x98], rsi
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rdi
lea rcx, [rsp + 0x98]
call fcn.006331c0
mov rdx, qword [rsp + 0x90]
add rdx, 0x10
mov rax, qword [rsp + 0x58]
inc rax
mov rsi, qword [rsp + 0x60]
nop
cmp rax, rsi
jl 0x630d9c
mov rdx, qword [rsp + 0xd0]
mov rbx, qword [rdx + 0x28]
lea rax, [0x0077c280]
lea rcx, [0x00795a90]
mov edi, 0xa
call fcn.004130c0
test bl, bl
je 0x630eaa
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx + 0x28]
lea rbx, [0x00795a90]
mov ecx, 0xa
call fcn.005eea40
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x38], rbx
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x00795a90]
mov edi, 0xa
lea rax, [0x0077c280]
mov rbx, rsi
call fcn.00413900
mov rdx, qword [rsp + 0x38]
cmp rdx, 5
jne 0x630eaa
mov rcx, qword [rsp + 0x68]
cmp dword [rcx], 0x736f6c63
jne 0x630eaa
cmp byte [rcx + 4], 0x65
jne 0x630eaa
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx + 0x10]
call fcn.0062a160
mov rcx, qword [rsp + 0xd0]
cmp byte [rcx + 0x52], 0
je 0x630edd
cmp qword [rcx + 0x38], 0
je 0x630ec9
mov rdx, qword [rsp + 0xe0]
jmp 0x630ee5
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
jne 0x630ee5
mov eax, 1
jmp 0x630eea
mov rdx, qword [rsp + 0xe0]
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x37], al
lea rax, [0x0077a5c0]
call fcn.0040da80
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rcx]
mov edx, dword [rdx + 8]
mov dword [rax], edx
mov rdx, qword [rcx + 0x48]
mov qword [rax + 8], rdx
mov rdx, qword [rcx + 0x28]
cmp dword [0x00aac840], 0
jne 0x630f25
mov qword [rax + 0x10], rdx
jmp 0x630f2e
lea rdi, [rax + 0x10]
call fcn.00466000
movzx edx, byte [rsp + 0x37]
mov byte [rax + 0x30], dl
mov rsi, qword [rsp + 0x48]
mov qword [rax + 0x50], rsi
cmp dword [0x00aac840], 0
jne 0x630f56
mov rsi, qword [rsp + 0x80]
mov qword [rax + 0x48], rsi
jmp 0x630f67
lea rdi, [rax + 0x48]
mov rsi, qword [rsp + 0x80]
call fcn.00466040
mov rsi, qword [rsp + 0x50]
mov qword [rax + 0x60], rsi
cmp dword [0x00aac840], 0
jne 0x630f87
mov rsi, qword [rsp + 0x88]
mov qword [rax + 0x58], rsi
jmp 0x630f98
lea rdi, [rax + 0x58]
mov rsi, qword [rsp + 0x88]
call fcn.00466040
mov rsi, qword [rsp + 0x40]
mov qword [rax + 0x40], rsi
cmp dword [0x00aac840], 0
jne 0x630fb5
mov rsi, qword [rsp + 0x78]
mov qword [rax + 0x38], rsi
jmp 0x630fc5
lea rdi, [rax + 0x38]
mov rsi, qword [rsp + 0x78]
nop
call fcn.00466040
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rsi, rax
mov rax, rdx
mov rcx, rsi
call fcn.0062fae0
test rax, rax
jne 0x631028
movzx edx, byte [rsp + 0x37]
test dl, dl
jne 0x631012
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x35]
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe8]
jmp 0x630b60
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rdx, qword [rsp + 0xd0]
mov byte [rdx + 0x53], 1
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463d20
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00630780