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

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x428277
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov byte [rsp + 0x89], dil
mov byte [rsp + 0x88], cl
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rbx
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
mov rax, rdx
call fcn.00445fe0
test rax, rax
je 0x427e1b
mov rcx, qword [rsp + 0x80]
nop dword [rax + rax]
cmp rcx, 0x10
jae 0x427e23
mov qword [rsp + 0x50], rax
lea rcx, [rax + 0x48]
mov qword [rsp + 0x58], rcx
mov rax, rcx
nop dword [rax + rax]
call fcn.0042c480
test al, al
je 0x427dc5
mov rax, qword [rsp + 0x78]
test byte [rax], al
call fcn.0040b060
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + 8]
nop
call fcn.0042c800
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x48], rax
mov qword [rdx + 0x50], rbx
mov qword [rdx + 0x58], rcx
mov rax, qword [rsp + 0x78]
nop dword [rax + rax]
call fcn.0040b280
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
call fcn.0042c4a0
test rax, rax
je 0x427e14
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x78]
call fcn.00427ac0
test rax, rax
je 0x427e05
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
nop
jmp 0x427f64
mov rbx, qword [rsp + 0x28]
mov rcx, rax
mov rax, qword [rsp + 0x38]
jmp 0x427e16
xor ecx, ecx
mov rdx, rcx
jmp 0x427e29
mov rcx, qword [rsp + 0x80]
xor eax, eax
xor edx, edx
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x78]
test byte [rcx], al
mov rax, rcx
call fcn.0040b060
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x427e5d
mov rax, rcx
xor ecx, ecx
mov rbx, qword [rsp + 0x28]
jmp 0x427ed6
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + 8]
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x80]
call fcn.0042b640
test rax, rax
je 0x427e82
xor ecx, ecx
nop
jmp 0x427ed6
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
call fcn.004282c0
test bl, bl
jne 0x427eb1
mov rax, qword [rsp + 0x78]
nop dword [rax]
call fcn.0040b280
xor eax, eax
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x80]
call fcn.0042b640
test rax, rax
je 0x428265
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov rdx, qword [rsp + 0x48]
test rdx, rdx
jne 0x427efc
mov rax, qword [rsp + 0x78]
call fcn.00427b40
mov rdx, rax
mov qword [rsp + 0x48], rdx
mov rax, qword [rsp + 0x78]
call fcn.0040b280
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jbe 0x427f55
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x10178]
mov qword [rsp + 0x20], rcx
call fcn.00421b20
mov rbx, qword [rsp + 0x30]
add rax, rbx
mov rcx, qword [rsp + 0x20]
cmp rcx, rax
jae 0x427f55
sub rax, rcx
cmp rbx, rax
cmova rbx, rax
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + 8]
call fcn.004222c0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rdx
mov rbx, rcx
mov rcx, qword [rsp + 0x80]
nop
call fcn.00428a60
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
call fcn.00427960
nop dword [rax]
test al, al
je 0x427fad
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0x64], 1
movzx eax, byte [rsp + 0x88]
call fcn.004275c0
mov rcx, qword [rsp + 0x80]
shl rcx, 0xd
mov qword [rsp + 0x40], rcx
test al, al
je 0x428010
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x28], 0
mov qword [rax + 0x38], 0
call fcn.00426820
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x20]
shl rdx, 0xd
add rdx, rax
mov qword [rcx + 0x70], rdx
lea rax, [rcx + 0x63]
mov ebx, 2
call fcn.004267e0
jmp 0x4280de
movzx eax, byte [rsp + 0x89]
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0x62], al
call fcn.00426a60
test al, al
jne 0x42804b
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov qword [rdx + 0x68], rcx
mov qword [rdx + 0x38], 1
mov dword [rdx + 0x5c], 0
mov rbx, rdx
jmp 0x42808a
movsx rcx, al
lea rdx, [0x007a90c0]
movzx edx, word [rdx + rcx*2]
mov rbx, qword [rsp + 0x48]
mov qword [rbx + 0x68], rdx
test rdx, rdx
je 0x428260
mov rax, qword [rsp + 0x40]
mov rsi, rdx
xor edx, edx
div rsi
mov qword [rbx + 0x38], rax
lea rdx, [0x007aab60]
mov ecx, dword [rdx + rcx*4]
mov dword [rbx + 0x5c], ecx
mov qword [rbx + 0x30], 0
mov qword [rbx + 0x40], 0xffffffffffffffff
mov rax, qword [rbx + 0x38]
nop
call fcn.00429860
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x50], rax
mov rax, qword [rcx + 0x38]
call fcn.004299e0
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x48], rax
mov rdx, qword [rsp + 0x78]
test byte [rdx], al
mov ebx, dword [rdx + 0x10130]
xchg dword [rcx + 0x58], ebx
lea rax, [rcx + 0x63]
mov ebx, 1
call fcn.004267e0
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x428111
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
call fcn.00419100
mov rcx, qword [rsp + 0x28]
mov rdx, rcx
neg rcx
lea rsi, [0x0083c740]
lock xadd qword [rsi], rcx
mov rcx, rdx
movzx eax, byte [rsp + 0x88]
test al, al
jne 0x42812e
mov rdx, qword [rsp + 0x40]
lea rbx, [0x0083c738]
lock xadd qword [rbx], rdx
call fcn.004275c0
test al, al
je 0x42814b
mov rbx, qword [rsp + 0x40]
neg rbx
lea rax, [0x0083c730]
call fcn.00430320
lea rax, [0x0083de48]
call fcn.004303e0
mov rcx, qword [rsp + 0x28]
mov rdx, rcx
lock xadd qword [rax], rcx
neg rdx
lock xadd qword [rax + 8], rdx
movzx ecx, byte [rsp + 0x88]
cmp cl, 1
ja 0x428198
test cl, cl
jne 0x42818b
mov rdx, qword [rsp + 0x40]
lock xadd qword [rax + 0x10], rdx
jmp 0x4281ba
mov rdx, qword [rsp + 0x40]
lock xadd qword [rax + 0x18], rdx
jmp 0x4281ba
cmp cl, 2
jne 0x4281aa
mov rdx, qword [rsp + 0x40]
lock xadd qword [rax + 0x28], rdx
jmp 0x4281ba
cmp cl, 3
jne 0x4281ba
mov rdx, qword [rsp + 0x40]
lock xadd qword [rax + 0x20], rdx
lea rax, [0x0083de48]
call fcn.004304c0
mov rax, qword [rsp + 0x48]
call fcn.00426820
mov rbx, rax
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x78]
call fcn.004277e0
movzx eax, byte [rsp + 0x88]
call fcn.004275c0
test al, al
jne 0x428235
mov rax, qword [rsp + 0x48]
call fcn.00426820
call fcn.00426d60
test byte [rax], al
lea rdx, [rax + rbx]
lea rdx, [rdx + 0x21000]
lock or byte [rdx], cl
mov rcx, qword [rsp + 0x78]
test byte [rcx], al
lea rax, [rcx + 0x10150]
mov rbx, qword [rsp + 0x80]
call fcn.00401d00
call fcn.00461080
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
call fcn.004356e0
lea rax, [0x0065435f]
mov ebx, 0x2b
call fcn.00436d80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov byte [rsp + 0x19], dil
call fcn.00463620
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
movzx edi, byte [rsp + 0x19]
jmp fcn.00427d00