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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x40]
cmp rax, qword [rcx + 0x10]
jbe 0x42680f
sub rsp, 0xc0
mov qword [rsp + 0xb8], rbp
lea rbp, [rsp + 0xb8]
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rdx + 0x30]
cmp dword [rbx + 0xd8], 0
jne 0x425c49
cmp dword [rbx + 0xc0], 0
jne 0x425c49
nop dword [rax]
cmp qword [rbx], rdx
jne 0x4267f5
mov edx, dword [0x007f2f08]
mov dword [rsp + 0x20], edx
mov rbx, qword [rsp + 0xc8]
mov sil, byte [rbx + 0x63]
mov byte [rsp + 0x1b], sil
cmp sil, 1
jne 0x42674a
lea edi, [rdx - 1]
cmp dword [rbx + 0x58], edi
jne 0x42674a
mov dword [rsp + 0x24], edi
cmp byte [0x007d2d10], 0
jne 0x426532
mov rsi, qword [rbx + 0x20]
lea r8, [0x007f2f40]
lock xadd qword [r8], rsi
movzx esi, byte [rbx + 0x62]
mov byte [rsp + 0x18], sil
mov r8, qword [rbx + 0x68]
mov qword [rsp + 0x40], r8
lea r9, [rbx + 0x80]
mov r10, qword [rbx + 0x80]
mov qword [rsp + 0x38], r10
mov rax, r10
jmp 0x425cd1
mov rax, r13
mov r9, r10
mov r10, rdx
mov edx, r11d
test r10, r10
je 0x425e25
movzx r11d, word [r10 + 8]
nop
test r8, r8
je 0x426745
mov rcx, rax
mov rax, r11
mov r11d, edx
xor edx, edx
div r8
mov rdx, rax
imul rax, r8
nop
nop
mov r12, rdx
shr rdx, 3
and r12, 7
mov r13, rcx
mov rcx, r12
mov r14d, 1
shl r14d, cl
nop
add rdx, qword [rbx + 0x50]
movzx r15d, byte [rdx]
test r15b, r14b
je 0x425d2d
mov rdx, qword [r10]
jmp 0x425cc5
lea r14, [rax + r8]
mov rax, r10
jmp 0x425d40
mov r10, qword [r10]
movzx esi, byte [rsp + 0x18]
nop
test r10, r10
je 0x425e1d
movzx esi, word [r10 + 8]
cmp r14, rsi
jbe 0x425e16
cmp byte [r10 + 0xa], 1
jne 0x425d36
nop
bts r15d, ecx
mov byte [rdx], r15b
mov ecx, 1
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x19], cl
jmp 0x425d80
mov r9, rax
mov rax, rdx
nop dword [rax]
test rax, rax
je 0x425e06
movzx edx, word [rax + 8]
cmp r14, rdx
jbe 0x425e06
mov rsi, qword [rbx + 0x18]
add rdx, rsi
cmp byte [rax + 0xa], 1
je 0x425da9
nop
test cl, cl
je 0x425da9
mov rdx, qword [rax]
jmp 0x425d76
mov qword [rsp + 0x80], r9
mov rcx, qword [rax]
mov qword [rsp + 0x78], rcx
mov qword [r9], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r8
call fcn.0042a8c0
movzx ecx, byte [rsp + 0x19]
mov rbx, qword [rsp + 0xc8]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x20]
mov r13, qword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
jmp 0x425d76
movzx esi, byte [rsp + 0x18]
mov rdx, rax
mov r10, r9
jmp 0x425cc5
xor ecx, ecx
jmp 0x425d6b
xor ecx, ecx
nop
jmp 0x425d6b
test rax, rax
je 0x425e38
cmp qword [rbx + 0x80], 0
je 0x4264af
cmp dword [0x00811724], 0
nop
je 0x42649d
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x90], 1
mov qword [rsp + 0x98], 0
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0xa0], rax
mov byte [rsp + 0xa8], 1
mov qword [rsp + 0xb0], 0
xor eax, eax
jmp 0x425e95
inc qword [rsp + 0xb0]
inc rax
cmp qword [rbx + 0x38], rax
jbe 0x425fce
mov r9, qword [rsp + 0x88]
movzx r10d, byte [rsp + 0x90]
movzx r9d, byte [r9]
test r9b, r10b
je 0x425f22
nop
movzx r9d, byte [rsp + 0x90]
cmp r9b, 0x80
jne 0x425f13
inc qword [rsp + 0x88]
mov byte [rsp + 0x90], 1
inc qword [rsp + 0x98]
nop
movzx r9d, byte [rsp + 0xa8]
cmp r9b, 0x80
jne 0x425f03
inc qword [rsp + 0xa0]
mov byte [rsp + 0xa8], 1
jmp 0x425e8a
shl r9d, 1
mov byte [rsp + 0xa8], r9b
jmp 0x425e8a
shl r9d, 1
mov byte [rsp + 0x90], r9b
nop
jmp 0x425ed9
mov r9, qword [rbx + 0x30]
cmp qword [rsp + 0xb0], r9
jae 0x425fab
mov r9, qword [rbx + 0x68]
imul r9, rax
add r9, qword [rbx + 0x18]
cmp dword [0x00811724], 0
jne 0x425f6c
cmp dword [0x008116e4], 0
je 0x425eb9
xor ecx, ecx
jmp 0x425f62
mov dword [r9 + rcx], 0xdeadbeef
add rcx, 4
cmp r8, rcx
ja 0x425f56
jmp 0x425eb9
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], r9
mov qword [rsp], r9
mov qword [rsp + 8], r8
nop
call fcn.0042ff80
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0x20]
mov rbx, qword [rsp + 0xc8]
movzx esi, byte [rsp + 0x18]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x30]
jmp 0x425f45
mov r9, qword [rsp + 0xa0]
movzx r10d, byte [rsp + 0xa8]
movzx r9d, byte [r9]
test r9b, r10b
jne 0x425f30
jmp 0x425eb9
mov rcx, qword [rbx + 0x30]
cmp qword [rbx + 0x38], rcx
jbe 0x426074
mov rax, qword [rbx + 0x50]
mov r9, rcx
shr rcx, 3
movzx eax, byte [rcx + rax]
mov r10, qword [rbx + 0x48]
movzx r10d, byte [rcx + r10]
not r10d
and r10d, eax
and r9, 7
mov rax, rcx
mov rcx, r9
shr r10b, cl
test r10b, r10b
jne 0x42646b
inc rax
jmp 0x426018
inc rax
mov rcx, qword [rbx + 0x38]
add rcx, 7
shr rcx, 3
cmp rcx, rax
jbe 0x426074
mov rcx, qword [rbx + 0x50]
movzx ecx, byte [rax + rcx]
mov r9, qword [rbx + 0x48]
movzx r9d, byte [rax + r9]
not r9d
nop dword [rax]
test cl, r9b
je 0x426015
mov qword [rsp + 0x48], rax
mov qword [rsp], rbx
call fcn.00426820
mov rax, qword [rsp + 0x48]
mov edx, dword [rsp + 0x20]
mov rbx, qword [rsp + 0xc8]
movzx esi, byte [rsp + 0x18]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x40]
jmp 0x426015
nop
mov rax, qword [rbx + 0x38]
add rax, 7
shr rax, 3
mov qword [rsp + 0x70], rax
xor ecx, ecx
xor r9d, r9d
jmp 0x426094
add rcx, 8
add r9, r10
mov qword [rsp + 0x28], r9
cmp rax, rcx
jbe 0x426102
mov r10, qword [rbx + 0x50]
mov r10, qword [r10 + rcx]
movzx r11, byte [0x008110e0]
test r11, r11
je 0x4260ba
popcnt r10, r10
jmp 0x42608d
mov qword [rsp + 0x50], rcx
mov qword [rsp], r10
call fcn.00401da0
mov r10, qword [rsp + 8]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x20]
mov rbx, qword [rsp + 0xc8]
movzx esi, byte [rsp + 0x18]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x28]
movzx r11, byte [0x008110e0]
nop
jmp 0x42608d
movzx eax, word [rbx + 0x60]
mov ecx, eax
sub eax, r9d
mov word [rsp + 0x1c], ax
cmp cx, r9w
jb 0x42664e
mov word [rbx + 0x60], r9w
mov qword [rbx + 0x30], 0
cmp byte [0x007d2d10], 0
je 0x426160
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0xa0]
test byte [rcx], al
movzx r10d, ax
mov r11, qword [rbx + 0x68]
imul r11, r10
add qword [rcx + 0x1648], r11
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x48], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp], rax
call fcn.0042aa20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x50], rax
mov qword [rsp], rcx
mov qword [rsp + 8], 0
call fcn.004156c0
mov rax, qword [rsp + 0xc8]
mov cl, byte [rax + 0x63]
mov byte [rsp + 0x1b], cl
cmp cl, 1
jne 0x4265a5
mov edx, dword [rax + 0x58]
mov ebx, dword [rsp + 0x24]
cmp ebx, edx
jne 0x4265a5
mov ebx, dword [rsp + 0x20]
lea esi, [rbx + 1]
cmp edx, esi
je 0x42658b
lea esi, [rbx + 3]
cmp edx, esi
je 0x42658b
mov edx, ebx
xchg dword [rax + 0x58], ebx
movzx ebx, byte [rsp + 0x18]
mov esi, ebx
shr bl, 1
test bl, bl
je 0x426368
movzx edi, word [rsp + 0x1c]
test di, di
ja 0x4262f7
movzx ebx, byte [rsp + 0xd0]
test bl, bl
je 0x426221
mov byte [rsp + 0xd8], 0
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rbx, qword [rsp + 0x28]
test bx, bx
je 0x4262ca
movzx ebx, bx
cmp qword [rax + 0x38], rbx
jne 0x426282
nop dword [rax + rax]
cmp rsi, 0x88
jae 0x426572
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rbx, [0x007f3210]
lea rcx, [rcx + rbx]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rcx, [rcx + rdx*8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00431140
nop
jmp 0x426209
cmp rsi, 0x88
jae 0x426566
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rbx, [0x007f3210]
lea rcx, [rbx + rcx]
lea rcx, [rcx + 8]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rcx, [rcx + rdx*8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00431140
jmp 0x426209
lea rcx, [0x007e2de0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00429820
mov byte [rsp + 0xd8], 1
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov byte [rsp + 0x1a], bl
mov byte [rax + 0x64], 1
lea rcx, [0x00814f48]
mov qword [rsp], rcx
call fcn.00431940
mov rax, qword [rsp + 8]
test byte [rax], al
movzx ecx, byte [rsp + 0x1a]
movsx rcx, cl
nop
cmp rcx, 0x44
jae 0x42657e
lea rax, [rax + rcx*8]
lea rax, [rax + 0x270]
movzx ecx, word [rsp + 0x1c]
movzx ecx, cx
lock xadd qword [rax], rcx
lea rax, [0x00814f48]
mov qword [rsp], rax
call fcn.00431a80
mov rax, qword [rsp + 0xc8]
mov edx, dword [rsp + 0x20]
movzx esi, byte [rsp + 0x18]
jmp 0x4261fd
movzx ebx, byte [rsp + 0xd0]
test bl, bl
jne 0x426209
movzx ebx, word [rsp + 0x1c]
nop dword [rax]
test bx, bx
je 0x426427
cmp dword [0x008116e8], 0
jle 0x42640e
mov qword [rax + 0x70], 0
mov rax, qword [rax + 0x18]
mov qword [rsp], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 8], rax
call fcn.00419f80
lea rax, [0x00814f48]
mov qword [rsp], rax
nop dword [rax]
call fcn.00431940
mov rax, qword [rsp + 8]
mov ecx, 1
lock xadd qword [rax + 0x268], rcx
mov rcx, qword [rsp + 0x40]
lock xadd qword [rax + 0x260], rcx
lea rax, [0x00814f48]
mov qword [rsp], rax
call fcn.00431a80
mov byte [rsp + 0xd8], 1
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
lea rcx, [0x007e2de0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
nop
call fcn.00429820
jmp 0x4263b1
cmp rsi, 0x88
jae 0x42655a
lea rcx, [rsi + rsi*2]
shl rcx, 6
lea rbx, [0x007f3210]
lea rcx, [rcx + rbx]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rcx, [rcx + rdx*8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00431140
jmp 0x426209
mov qword [rsp + 0x70], rax
mov qword [rsp], rbx
call fcn.00426820
mov rax, qword [rsp + 0x70]
mov edx, dword [rsp + 0x20]
mov rbx, qword [rsp + 0xc8]
movzx esi, byte [rsp + 0x18]
mov edi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x40]
jmp 0x426010
cmp dword [0x008116e4], 0
jne 0x425e46
jmp 0x425fce
nop
nop
mov rax, qword [rbx + 0x18]
movabs r9, 0x800000000000
add r9, rax
mov r10, r9
shr r9, 0x2a
cmp r9, 0x40
jae 0x426734
lea r11, [0x007f2f78]
mov r9, qword [r11 + r9*8]
test byte [r9], al
shr r10, 0x16
and r10, 0xfffff
mov r9, qword [r9 + r10*8]
test byte [r9], al
shr rax, 0xd
mov rcx, rax
and rax, 0x1ff
shr rax, 3
cmp rax, 0x40
jae 0x42672a
lea rax, [r9 + rax]
lea rax, [rax + 0x21080]
and rcx, 7
mov r9d, 1
shl r9d, cl
not r9d
lock and byte [rax], r9b
jmp 0x425e38
mov rax, qword [rbx + 0x20]
shl rax, 0xd
mov qword [rsp], rax
nop
call fcn.00459be0
mov edx, dword [rsp + 0x20]
mov rbx, qword [rsp + 0xc8]
mov edi, dword [rsp + 0x24]
jmp 0x425c8b
mov eax, esi
mov ecx, 0x88
call fcn.0046cdc0
mov eax, esi
mov ecx, 0x88
call fcn.0046cdc0
mov eax, esi
mov ecx, 0x88
call fcn.0046cdc0
mov rax, rcx
mov ecx, 0x44
call fcn.0046cdc0
lea rax, [0x0065da1f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
nop
call fcn.00439220
mov eax, dword [rax + 0x58]
mov qword [rsp + 0x68], rax
call fcn.0043aa00
lea rax, [0x0065e4d5]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0043b480
movzx eax, byte [rsp + 0x1b]
movzx eax, al
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065b5ce]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0043b480
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
nop
call fcn.0043b100
lea rax, [0x0065d01b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0043b480
mov eax, dword [rsp + 0x20]
mov qword [rsp], rax
call fcn.0043b100
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x00665a0e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
call fcn.00439220
mov word [rsp + 0x1e], cx
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x70], rax
nop dword [rax]
call fcn.0043aa00
lea rax, [0x0065d52b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0043b480
mov rax, qword [rsp + 0x70]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065ae46]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0043b480
mov rax, qword [rsp + 0x28]
movzx eax, ax
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065edb1]
mov qword [rsp], rax
mov qword [rsp + 8], 0x15
call fcn.0043b480
movzx eax, word [rsp + 0x1e]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065ae56]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0043b480
movzx eax, word [rsp + 0x1c]
movzx eax, ax
mov qword [rsp], rax
call fcn.0043b100
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x0066392e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x20
call fcn.00439220
mov ecx, 0x40
call fcn.0046cde0
mov rax, r9
mov ecx, 0x40
nop dword [rax]
call fcn.0046cde0
call fcn.00436e20
mov eax, dword [rbx + 0x58]
mov qword [rsp + 0x68], rax
call fcn.0043aa00
lea rax, [0x0065e4d5]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0043b480
movzx eax, byte [rsp + 0x1b]
movzx eax, al
mov qword [rsp], rax
nop dword [rax]
call fcn.0043b100
lea rax, [0x0065b5ce]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0043b480
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
call fcn.0043b100
lea rax, [0x0065d01b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0043b480
mov eax, dword [rsp + 0x20]
mov qword [rsp], rax
call fcn.0043b100
call fcn.0043ace0
call fcn.0043aaa0
lea rax, [0x00661997]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1b
call fcn.00439220
lea rax, [0x00661f86]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.00439220
nop
call fcn.0046abe0
jmp fcn.00425be0