Function at 0x638da0
Capabilities:
Check for software breakpoints

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x20]
cmp rax, qword [rcx + 0x10]
jbe 0x639563
sub rsp, 0xa0
mov qword [rsp + 0x98], rbp
lea rbp, [rsp + 0x98]
lea rax, [0x006e5e00]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 8], rcx
lea rdx, [0x006fc19a]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0xe
call fcn.00413f00
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
cmp rdx, 1
jle 0x6390be
mov rbx, qword [rcx]
mov rsi, qword [rcx + 8]
jmp 0x638e4a
dec rsi
mov rdi, rsi
neg rsi
sar rsi, 0x3f
and rsi, 1
add rbx, rsi
mov rsi, rdi
test rsi, rsi
jle 0x638e71
movzx edi, byte [rbx]
cmp dil, 0x20
je 0x638e33
cmp dil, 9
je 0x638e33
nop
cmp dil, 0xa
je 0x638e33
cmp dil, 0xd
je 0x638e33
jmp 0x638e71
dec rsi
test rsi, rsi
jle 0x638e98
movzx edi, byte [rbx + rsi - 1]
nop dword [rax + rax]
cmp dil, 0x20
je 0x638e6e
cmp dil, 9
je 0x638e6e
cmp dil, 0xa
je 0x638e6e
cmp dil, 0xd
je 0x638e6e
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x68], rbx
lea rdi, [rdx - 1]
test rdi, rdi
jle 0x638fbf
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x50], rax
lea r8, [rcx + 0x10]
xor r9d, r9d
jmp 0x638fb3
dec r11
mov r12, r11
neg r11
sar r11, 0x3f
and r11, 1
add r10, r11
mov r11, r12
test r11, r11
jle 0x638f11
movzx r12d, byte [r10]
cmp r12b, 0x20
je 0x638ecf
cmp r12b, 9
je 0x638ecf
nop dword [rax + rax]
cmp r12b, 0xa
je 0x638ecf
cmp r12b, 0xd
je 0x638ecf
jmp 0x638f11
dec r11
test r11, r11
jle 0x638f40
movzx r12d, byte [r10 + r11 - 1]
nop dword [rax]
cmp r12b, 0x20
je 0x638f0e
cmp r12b, 9
je 0x638f0e
cmp r12b, 0xa
je 0x638f0e
cmp r12b, 0xd
je 0x638f0e
nop dword [rax + rax]
cmp r11, rsi
jne 0x6394ac
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x80], r8
mov qword [rsp], rbx
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rsi
call fcn.00402a60
cmp byte [rsp + 0x18], 0
je 0x6394ac
mov rax, qword [rsp + 0x58]
inc rax
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
jle 0x638fbf
mov r10, qword [rsp + 0x80]
lea r8, [r10 + 0x10]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov r9, rax
mov rax, qword [rsp + 0x50]
mov r10, qword [r8]
mov r11, qword [r8 + 8]
jmp 0x638ee6
nop
nop
lea rax, [0x006fc19a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.005e8320
lea rax, [0x006d4480]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 8], rcx
call fcn.00414c80
nop
nop
lea rax, [0x006fc19a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.005e8320
lea rax, [0x006d4480]
mov qword [rsp], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 8], rcx
call fcn.00414840
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov rbx, qword [rax + 0x10]
lea rsi, [rcx + 1]
cmp rsi, rbx
ja 0x63944a
lea rbx, [rcx + 1]
mov qword [rax + 8], rbx
shl rcx, 4
mov rax, qword [rsp + 0x40]
mov qword [rdx + rcx + 8], rax
lea rdi, [rdx + rcx]
cmp dword [0x00912530], 0
jne 0x63943b
mov rax, qword [rsp + 0x68]
mov qword [rdx + rcx], rax
lea rax, [0x006e5e00]
mov qword [rsp], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 8], rax
lea rcx, [0x006fc19a]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], 0xe
call fcn.00413f00
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov rbx, qword [rsp + 0xc0]
cmp rbx, 4
jne 0x6390e6
mov rbx, qword [rsp + 0xb8]
cmp dword [rbx], 0x44414548
nop word [rax + rax]
je 0x639341
movabs rax, 0xa3d70a3d70a3d70b
mov rbx, qword [rsp + 0xb0]
mov rsi, rdx
imul rbx
add rdx, rbx
sar rdx, 6
mov rdi, rbx
sar rbx, 0x3f
sub rdx, rbx
cmp rdx, 1
je 0x63931a
nop dword [rax]
cmp rdi, 0xcc
je 0x6392f3
cmp rdi, 0x130
je 0x6392f3
movzx eax, byte [rsp + 0xd0]
test al, al
jne 0x6392cc
cmp rsi, 1
jne 0x6392c3
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
jmp 0x639174
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rcx, 1
add rax, rcx
mov rcx, rdx
test rcx, rcx
jle 0x639199
movzx edx, byte [rax]
nop dword [rax]
cmp dl, 0x20
je 0x63915d
cmp dl, 9
je 0x63915d
cmp dl, 0xa
je 0x63915d
cmp dl, 0xd
je 0x63915d
jmp 0x639199
dec rcx
test rcx, rcx
jle 0x6391b7
movzx edx, byte [rcx + rax - 1]
cmp dl, 0x20
je 0x639196
cmp dl, 9
je 0x639196
cmp dl, 0xa
je 0x639196
cmp dl, 0xd
je 0x639196
test rcx, rcx
je 0x639231
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0063a7c0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x20]
cmp qword [rsp + 0x18], 0
nop
je 0x63920e
mov qword [rsp + 0xd8], 0xffffffffffffffff
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdx
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp + 0xd8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
nop
nop
lea rax, [0x006fc19a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.005e8320
lea rax, [0x006d4480]
mov qword [rsp], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 8], rax
call fcn.00414c80
movzx eax, byte [rsp + 0xa8]
test al, al
je 0x63929c
mov qword [rsp + 0xd8], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
xor ecx, ecx
xor eax, eax
jmp 0x6391b7
mov qword [rsp + 0xd8], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov qword [rsp + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
movzx ebx, byte [rsp + 0xa8]
test bl, bl
je 0x639374
mov qword [rsp + 0xd8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
test rdx, rdx
jle 0x63934d
cmp rdx, 1
jne 0x63938e
mov rbx, qword [rcx]
cmp qword [rcx + 8], 1
jne 0x63938e
cmp byte [rbx], 0x30
je 0x63934d
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
call fcn.0040b7a0
mov rax, qword [rsp + 0x18]
lea rcx, [0x0069e5c0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rax, [0x0070a06b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x34
lea rax, [rsp + 0x88]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
nop dword [rax + rax]
call fcn.004d3880
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
mov rax, qword [rsp + 0x68]
call fcn.0046c660
jmp 0x63907c
mov qword [rsp + 0x78], rax
lea rax, [0x006a12a0]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
call fcn.0044dd20
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
mov qword [rdi + 0x10], rdx
cmp dword [0x00912530], 0
jne 0x6394a5
mov qword [rdi], rax
mov rdx, rax
mov rax, rdi
nop dword [rax]
jmp 0x63904c
call fcn.0046c660
jmp 0x639497
xorps xmm0, xmm0
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x10], rax
call fcn.0040b7a0
mov rax, qword [rsp + 0x18]
lea rcx, [0x0069e5c0]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
lea rax, [0x0070be6c]
mov qword [rsp], rax
mov qword [rsp + 8], 0x44
lea rax, [rsp + 0x88]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004d3880
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x98]
add rsp, 0xa0
ret
call fcn.0046a920
jmp fcn.00638da0