Function at 0x630cc0
Capabilities:
Check for software breakpoints

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x63158c
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 0x630d36
mov ebx, 0xc8
call fcn.006322a0
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 0x630d65
nop dword [rax]
call fcn.006315c0
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 0x630d7f
cmp dword [r9], 0x44414548
sete dl
jmp 0x630d81
xor edx, edx
cmp byte [rax + 0x51], 0
jne 0x6310a0
mov byte [rsp + 0x35], dl
mov byte [rax + 0x51], 1
mov rdx, qword [rax + 0x28]
lea rbx, [0x007061fa]
mov ecx, 0xe
mov rax, rdx
call fcn.005f32e0
test rbx, rbx
je 0x630e42
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, [0x007061fa]
mov ebx, 0xe
nop
call fcn.005f4a80
mov rcx, rax
mov rdi, rbx
lea rax, [0x006e09e0]
mov rbx, qword [rsp + 0x70]
call fcn.00413600
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x50]
mov ecx, 0xa
mov edi, 0x3f
call fcn.00475580
test rbx, rbx
je 0x630e23
xor eax, eax
xor ecx, ecx
jmp 0x630e3c
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 0x630ea7
mov rdx, qword [rsp + 0xd0]
cmp byte [rdx + 0x52], 0
je 0x630eaf
mov rsi, qword [rdx + 0x48]
lea r8, [rsi - 0x64]
nop dword [rax]
cmp r8, 0x63
jbe 0x630eaf
cmp rsi, 0xcc
je 0x630eaf
cmp rsi, 0x130
je 0x630eaf
mov rsi, qword [rsp + 0xe0]
test rsi, rsi
jne 0x630e90
movzx r8d, byte [rsp + 0x35]
test r8b, r8b
jne 0x630eaf
mov rax, rsi
mov ebx, 0xa
call fcn.0047aae0
mov rdx, qword [rsp + 0xd0]
jmp 0x630eaf
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x88], rax
mov rsi, qword [rdx + 0x28]
lea rcx, [0x0070553d]
mov edi, 0xc
lea rax, [0x006f0ac0]
mov rbx, rsi
call fcn.00412dc0
mov byte [rsp + 0x36], bl
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx + 0x28]
mov ecx, 0x10
lea rbx, [0x00706f01]
call fcn.005f32e0
nop dword [rax]
test rbx, rbx
je 0x630f16
mov rdx, qword [rsp + 0xd0]
xor eax, eax
xor ecx, ecx
jmp 0x630f97
movzx edx, byte [rsp + 0x36]
test dl, dl
je 0x630f2d
mov rdx, qword [rsp + 0xd0]
xor eax, eax
xor ecx, ecx
jmp 0x630f97
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x48]
lea r8, [rsi - 0x64]
nop dword [rax]
cmp r8, 0x63
ja 0x630f4c
xor eax, eax
xor ecx, ecx
jmp 0x630f97
cmp rsi, 0xcc
je 0x630f5e
cmp rsi, 0x130
jne 0x630f64
xor eax, eax
xor ecx, ecx
jmp 0x630f97
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
jne 0x630f77
xor eax, eax
xor ecx, ecx
jmp 0x630f97
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
call fcn.00658140
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, [0x006f0ac0]
lea rcx, [0x007033f6]
nop dword [rax + rax]
call fcn.00412dc0
test bl, bl
je 0x630fd2
xor eax, eax
xor ebx, ebx
jmp 0x631059
call fcn.004b1280
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 0x63102a
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, [0x0070dfef]
mov esi, 0x1d
call fcn.004a9020
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x00703d50]
mov edi, 7
lea rax, [0x006f0ac0]
mov rbx, rsi
call fcn.004129c0
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov qword [rsp + 0x60], rsi
xor eax, eax
jmp 0x631340
test dl, dl
jne 0x6310d7
test rcx, rcx
jne 0x6310c5
cmp byte [rax + 0x52], 0
jne 0x6310c5
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 0x631127
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 0x63117e
mov qword [rsp + 0x90], rdx
mov rcx, qword [rdx]
mov rdi, qword [rdx + 8]
mov rbx, qword [rax + 0x20]
lea rax, [0x006f0ac0]
call fcn.00412dc0
test bl, bl
je 0x6310ee
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 0x63118f
cmp rsi, r9
setge dl
test rcx, rcx
jmp 0x631197
test rcx, rcx
mov edx, 0
jne 0x63119d
test dl, dl
je 0x631206
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.00629560
nop dword [rax + rax]
test rax, rax
jne 0x6311e2
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
nop
jmp 0x631206
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 0x6312c5
cmp rsi, r9
jge 0x6312c5
lea rax, [0x006ef420]
call fcn.0040d960
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 [0x009e7a70], 0
jne 0x631248
mov qword [rax + 0x10], rdx
jmp 0x631251
lea rdi, [rax + 0x10]
call fcn.00465960
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 [0x009e7a70], 0
jne 0x631274
mov qword [rax + 0x18], rdx
jmp 0x63127d
lea rdi, [rax + 0x18]
call fcn.00465960
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.00630020
test rax, rax
je 0x6312a7
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, [0x00678e80]
mov qword [rsp + 0x98], rsi
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0xa0], rdi
lea rcx, [rsp + 0x98]
call fcn.006334e0
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 0x6312dc
mov rdx, qword [rsp + 0xd0]
mov rbx, qword [rdx + 0x28]
lea rax, [0x006f0ac0]
lea rcx, [0x00704957]
mov edi, 0xa
call fcn.00412dc0
test bl, bl
je 0x6313ea
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rdx + 0x28]
lea rbx, [0x00704957]
mov ecx, 0xa
call fcn.005f32e0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x38], rbx
mov rdx, qword [rsp + 0xd0]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x00704957]
mov edi, 0xa
lea rax, [0x006f0ac0]
mov rbx, rsi
call fcn.00413600
mov rdx, qword [rsp + 0x38]
cmp rdx, 5
jne 0x6313ea
mov rcx, qword [rsp + 0x68]
cmp dword [rcx], 0x736f6c63
jne 0x6313ea
cmp byte [rcx + 4], 0x65
jne 0x6313ea
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx + 0x10]
call fcn.0062a6a0
mov rcx, qword [rsp + 0xd0]
cmp byte [rcx + 0x52], 0
je 0x63141d
cmp qword [rcx + 0x38], 0
je 0x631409
mov rdx, qword [rsp + 0xe0]
jmp 0x631425
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
jne 0x631425
mov eax, 1
jmp 0x63142a
mov rdx, qword [rsp + 0xe0]
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x37], al
lea rax, [0x006ef420]
call fcn.0040d960
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 [0x009e7a70], 0
jne 0x631465
mov qword [rax + 0x10], rdx
jmp 0x63146e
lea rdi, [rax + 0x10]
call fcn.00465960
movzx edx, byte [rsp + 0x37]
mov byte [rax + 0x30], dl
mov rsi, qword [rsp + 0x48]
mov qword [rax + 0x50], rsi
cmp dword [0x009e7a70], 0
jne 0x631496
mov rsi, qword [rsp + 0x80]
mov qword [rax + 0x48], rsi
jmp 0x6314a7
lea rdi, [rax + 0x48]
mov rsi, qword [rsp + 0x80]
call fcn.004659a0
mov rsi, qword [rsp + 0x50]
mov qword [rax + 0x60], rsi
cmp dword [0x009e7a70], 0
jne 0x6314c7
mov rsi, qword [rsp + 0x88]
mov qword [rax + 0x58], rsi
jmp 0x6314d8
lea rdi, [rax + 0x58]
mov rsi, qword [rsp + 0x88]
call fcn.004659a0
mov rsi, qword [rsp + 0x40]
mov qword [rax + 0x40], rsi
cmp dword [0x009e7a70], 0
jne 0x6314f5
mov rsi, qword [rsp + 0x78]
mov qword [rax + 0x38], rsi
jmp 0x631505
lea rdi, [rax + 0x38]
mov rsi, qword [rsp + 0x78]
nop
call fcn.004659a0
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rsi, rax
mov rax, rdx
mov rcx, rsi
call fcn.00630020
test rax, rax
jne 0x631568
movzx edx, byte [rsp + 0x37]
test dl, dl
jne 0x631552
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 0x6310a0
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.00463680
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00630cc0