Function at 0x630800
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x631006
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rax
mov rcx, qword [rax]
mov qword [rsp + 0x88], rcx
mov edx, dword [rbx + 8]
mov ebx, edx
call fcn.00631220
nop
nop
mov rcx, qword [rsp + 0xc0]
cmp byte [rcx], 0
je 0x630ff0
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rcx + 0x20]
test rax, rax
je 0x630de3
mov qword [rsp + 0x80], rax
cmp byte [rax + 0x166], 0
jne 0x630d45
cmp byte [rax + 0x162], 0
je 0x630cb3
cmp dword [rcx + 4], 0
jbe 0x630c83
cmp byte [rax + 0xb9], 0
je 0x630947
test rdx, rdx
je 0x630947
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
nop
lea rax, [0x006da406]
mov ebx, 0x2f
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.005faa40
mov rdx, qword [rsp + 0xc0]
mov edx, dword [rdx + 8]
mov dword [rsp + 0x90], edx
mov dword [rsp + 0x94], 1
movups xmmword [rsp + 0x98], xmm15
lea rax, [0x006b2000]
lea rbx, [rsp + 0x90]
call fcn.0040ad40
mov rdx, qword [rsp + 0x80]
mov byte [rdx + 0x167], 1
lea rbx, [0x00743580]
mov rcx, rax
mov rax, rdx
call fcn.00624420
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov qword [rsp + 0x30], rdx
mov rsi, rax
xor eax, eax
mov r8, qword [rsp + 0x88]
mov r9d, 1
lock cmpxchg dword [r8 + 0x58], r9d
sete r10b
lea rax, [r8 + 0x58]
mov qword [rsp + 0x60], rax
test r10b, r10b
jne 0x6309b8
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x50], rbx
call fcn.0046e660
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x88]
mov r9d, 1
mov r10d, dword [rsi + 0x118]
mov r11, qword [rsi + 0x120]
test r11, r11
je 0x6309d3
mov r12d, dword [r11]
cmp r12d, r10d
jl 0x6309d6
mov r12d, r10d
mov r13d, dword [rcx + 4]
nop word [rax + rax]
cmp r12d, r13d
jl 0x630c4c
nop
test r11, r11
je 0x6309f7
mov r11d, dword [r11]
cmp r11d, r10d
jl 0x630a00
mov r11d, r10d
nop word [rax + rax]
cmp r11d, r13d
jl 0x630fdd
sub r10d, r13d
mov dword [rsi + 0x118], r10d
mov r10, qword [rsi + 0x120]
test r10, r10
je 0x630a22
sub dword [r10], r13d
mov r10d, dword [rcx + 4]
sub r10, rdx
test r10, r10
mov r11d, 0
cmovg r11, r10
test rdx, rdx
jne 0x630a43
xor edx, edx
xor ebx, ebx
xor edi, edi
jmp 0x630a94
mov qword [rsp + 0x40], r11
lea rax, [rsi + 0x30]
mov rcx, rdx
call fcn.00623080
test rbx, rbx
setne dl
mov rsi, qword [rsp + 0x30]
mov r11, qword [rsp + 0x40]
add rsi, r11
test rbx, rbx
cmovne r11, rsi
mov rax, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r9d, 1
mov rdi, rcx
mov rcx, qword [rsp + 0xc0]
test r11, r11
jle 0x630ae3
mov r10d, dword [r8 + 0x78]
lea r12d, [r11 + r10]
cmp r11d, r12d
setl r13b
test r10d, r10d
setg r10b
nop
cmp r10b, r13b
jne 0x630ab9
mov dword [r8 + 0x78], r12d
test dl, dl
jne 0x630ae3
mov r10d, dword [rsi + 0x118]
lea r12d, [r11 + r10]
cmp r11d, r12d
setl r13b
test r10d, r10d
setg r10b
nop
cmp r10b, r13b
jne 0x630ae3
mov dword [rsi + 0x118], r12d
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], r11
mov byte [rsp + 0x2b], dl
nop
mov r10d, 0xffffffff
lock xadd dword [r8 + 0x58], r10d
dec r10d
test r10d, r10d
jne 0x630b10
test r11, r11
jmp 0x630b52
mov ebx, r10d
call fcn.0046e960
mov rcx, qword [rsp + 0x40]
test rcx, rcx
mov rcx, qword [rsp + 0xc0]
movzx edx, byte [rsp + 0x2b]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r9d, 1
mov r11, qword [rsp + 0x40]
jle 0x630c20
xor eax, eax
lock cmpxchg dword [r8 + 0x128], r9d
sete r9b
lea rax, [r8 + 0x128]
mov qword [rsp + 0x58], rax
test r9b, r9b
jne 0x630b8a
call fcn.0046e660
mov r8, qword [rsp + 0x88]
mov r11, qword [rsp + 0x40]
mov rax, qword [r8 + 0x138]
xor ebx, ebx
mov rcx, r11
call fcn.0061f4a0
movzx edx, byte [rsp + 0x2b]
test dl, dl
jne 0x630bc8
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x138]
mov rsi, qword [rsp + 0x80]
mov ebx, dword [rsi + 0x28]
mov rcx, qword [rsp + 0x40]
call fcn.0061f4a0
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0x130]
call fcn.004ef040
nop
mov ebx, 0xffffffff
mov rcx, qword [rsp + 0x88]
lock xadd dword [rcx + 0x128], ebx
dec ebx
test ebx, ebx
je 0x630c05
mov rax, qword [rsp + 0x58]
nop dword [rax]
call fcn.0046e960
mov rcx, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
nop
test rbx, rbx
je 0x630c86
nop
mov byte [rsi + 0x167], 1
mov rax, rsi
mov rcx, rdi
call fcn.00624420
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
nop
mov ebx, 0xffffffff
lock xadd dword [r8 + 0x58], ebx
dec ebx
test ebx, ebx
je 0x630c65
nop
call fcn.0046e960
lea rax, [0x00743540]
lea rbx, [0x0073ff38]
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rsi, rax
movzx ecx, byte [rcx + 2]
test cl, 1
je 0x630c9f
mov rax, qword [rsp + 0xb8]
mov rbx, rsi
call fcn.00631040
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
nop
lea rax, [0x006db798]
mov ebx, 0x34
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.005faa40
mov rdx, qword [rsp + 0xc0]
mov edx, dword [rdx + 8]
mov dword [rsp + 0x90], edx
mov dword [rsp + 0x94], 1
movups xmmword [rsp + 0x98], xmm15
lea rax, [0x006b2000]
lea rbx, [rsp + 0x90]
call fcn.0040ad40
mov rdx, qword [rsp + 0x80]
mov byte [rdx + 0x167], 1
lea rbx, [0x00743580]
mov rcx, rax
mov rax, rdx
call fcn.00624420
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rdx, qword [rsp + 0x88]
test byte [rdx], al
nop
lea rax, [0x006d9e0b]
mov ebx, 0x2e
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.005faa40
mov qword [rsp + 0x90], 0
movups xmmword [rsp + 0x98], xmm15
mov rdx, qword [rsp + 0xc0]
mov edx, dword [rdx + 8]
mov dword [rsp + 0x90], edx
mov dword [rsp + 0x94], 1
lea rax, [0x006b2000]
lea rbx, [rsp + 0x90]
call fcn.0040ad40
mov rdx, qword [rsp + 0x80]
mov byte [rdx + 0x167], 1
lea rbx, [0x00743580]
mov rcx, rax
mov rax, rdx
call fcn.00624420
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
xor eax, eax
mov rdx, qword [rsp + 0x88]
mov r8d, 1
lock cmpxchg dword [rdx + 0x58], r8d
sete r9b
lea rax, [rdx + 0x58]
mov qword [rsp + 0x70], rax
test r9b, r9b
jne 0x630e2b
call fcn.0046e660
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov r8d, 1
mov r9d, dword [rdx + 0xb8]
nop
mov ebx, 0xffffffff
lock xadd dword [rdx + 0x58], ebx
dec ebx
nop
test ebx, ebx
je 0x630e6e
mov dword [rsp + 0x2c], r9d
call fcn.0046e960
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov r8d, 1
mov r9d, dword [rsp + 0x2c]
cmp dword [rcx + 8], r9d
jae 0x630fa5
cmp dword [rcx + 4], 0
nop dword [rax]
jbe 0x630f91
nop
mov rbx, rax
xor eax, eax
lock cmpxchg dword [rdx + 0x58], r8d
sete sil
test sil, sil
jne 0x630ec0
mov rax, rbx
nop
call fcn.0046e660
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x70]
mov r8d, 1
mov esi, dword [rcx + 4]
mov edi, dword [rdx + 0x78]
lea r9d, [rsi + rdi]
cmp esi, r9d
setl sil
test edi, edi
setg dil
cmp dil, sil
jne 0x630ee0
mov dword [rdx + 0x78], r9d
nop
mov esi, 0xffffffff
lock xadd dword [rdx + 0x58], esi
dec esi
test esi, esi
je 0x630f11
mov rax, rbx
mov ebx, esi
call fcn.0046e960
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov r8d, 1
xor eax, eax
lock cmpxchg dword [rdx + 0x128], r8d
sete sil
lea rax, [rdx + 0x128]
mov qword [rsp + 0x68], rax
test sil, sil
jne 0x630f46
call fcn.0046e660
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x138]
mov ecx, dword [rcx + 4]
xor ebx, ebx
call fcn.0061f4a0
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x130]
call fcn.004ef040
nop
mov ebx, 0xffffffff
mov rdx, qword [rsp + 0x88]
lock xadd dword [rdx + 0x128], ebx
dec ebx
test ebx, ebx
je 0x630f91
mov rax, qword [rsp + 0x68]
call fcn.0046e960
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
nop
nop
lea rax, [0x006dd9cc]
mov ebx, 0x44
xor ecx, ecx
xor edi, edi
mov rsi, rdi
call fcn.005faa40
lea rax, [0x00743540]
lea rbx, [0x0073ff10]
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rax, [0x00679500]
lea rbx, [0x007420e0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420f0]
nop
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00630800