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

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x18]
jbe 0x428c86
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov byte [rsp + 0xb0], cl
mov byte [rsp + 0xb1], dil
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
mov qword [rsp + 0x88], rdx
test rdx, rdx
je 0x428834
cmp rbx, 0x10
jae 0x42882a
cmp qword [rdx + 0x50], 0
jne 0x4287ba
test byte [rax], al
lea rcx, [rax + 8]
mov qword [rsp + 0x80], rcx
nop
call fcn.0040bd80
mov rax, qword [rsp + 0x80]
call fcn.0042da80
mov rdx, qword [rsp + 0x88]
mov qword [rdx + 0x48], rax
mov qword [rdx + 0x50], rbx
mov qword [rdx + 0x58], rcx
nop
nop
mov rax, qword [rsp + 0xa0]
call fcn.0040bfe0
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa8]
lea rax, [rdx + 0x48]
nop
call fcn.0042d660
test rax, rax
je 0x428817
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
test rdx, rdx
je 0x428808
mov r9, qword [rdx + 0xdc8]
test r9, r9
je 0x428808
lea r10, [r9 - 1]
cmp r10, 0x80
jae 0x428c73
mov r9, qword [rdx + r9*8 + 0xdc8]
mov qword [rdx + 0xdc8], r10
jmp 0x42880b
xor r9d, r9d
test r9, r9
je 0x42881a
xor ecx, ecx
jmp 0x428949
xor r9d, r9d
mov rsi, rax
mov r8, rbx
mov rax, qword [rsp + 0xa0]
jmp 0x42883c
xor esi, esi
xor r9d, r9d
xor r8d, r8d
jmp 0x42883c
xor esi, esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x58], rsi
test byte [rax], al
nop
call fcn.0040bd80
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x42886e
xor ecx, ecx
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x38]
jmp 0x4288f8
mov rax, qword [rsp + 0xa0]
lea rcx, [rax + 8]
mov qword [rsp + 0x80], rcx
mov rbx, qword [rsp + 0xa8]
mov rax, rcx
call fcn.0042c3e0
test rax, rax
je 0x42889b
xor ecx, ecx
jmp 0x4288f8
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
call fcn.00428fa0
test bl, bl
jne 0x4288d0
nop
nop
mov rax, qword [rsp + 0xa0]
nop
call fcn.0040bfe0
xor eax, eax
add rsp, 0x90
pop rbp
ret
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xa8]
call fcn.0042c3e0
test rax, rax
je 0x428c62
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jne 0x428921
mov rax, qword [rsp + 0xa0]
call fcn.00428600
mov rdx, rax
mov qword [rsp + 0x78], rdx
nop
nop
mov rax, qword [rsp + 0xa0]
call fcn.0040bfe0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x38]
mov rdx, qword [0x00697068]
nop
mov r10b, byte [0x00696b64]
test r10b, r10b
je 0x428964
xor r11d, r11d
xor edx, edx
jmp 0x428985
nop
mov r10, qword [0x00697198]
add r10, rbx
mov r11, r10
sub r10, rdx
cmp rdx, r11
setb dl
mov r11d, 0
cmovb r11, r10
mov r10, qword [0x00696960]
cmp r10, 0xffffffffffffffff
je 0x4289e8
test rcx, rcx
jbe 0x4289db
mov r12, qword [0x00697170]
mov r13, qword [0x00697180]
add r12, r13
add r12, rcx
cmp r10, r12
jae 0x4289ce
sub r12, r10
cmp rcx, r12
cmova rcx, r12
cmp r11, rcx
cmovb r11, rcx
mov r10, qword [rsp + 0x88]
test r10, r10
jmp 0x4289f3
mov r10, qword [rsp + 0x88]
test r10, r10
jmp 0x4289f3
mov r10, qword [rsp + 0x88]
test r10, r10
jmp 0x4289f3
mov r10, qword [rsp + 0x88]
test r10, r10
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x78], r9
je 0x428b19
test r11, r11
jbe 0x428b19
mov byte [rsp + 0x2f], dl
mov qword [rsp + 0x50], r11
nop
nop dword [rax + rax]
call fcn.00468100
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
nop
mov rax, qword [rsp]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + 0x1248]
shr rdx, 0x3d
mov qword [rsp + 0x70], rdx
test dl, dl
jne 0x428a80
movabs rsi, 0x1fffffffffffffff
and rsi, rax
movabs r8, 0x6000000000000000
or r8, rsi
nop
nop
xchg qword [rcx + 0x1248], r8
mov rax, qword [rsp + 0xa0]
test byte [rax], al
lea rdx, [rax + 8]
mov rbx, qword [rsp + 0x50]
lea rcx, [0x004ebca0]
movzx edi, byte [rsp + 0x2f]
mov rax, rdx
call fcn.00422c80
nop
lea rdx, [0x00628658]
lock xadd qword [rdx], rax
nop
call fcn.00468100
xorps xmm15, xmm15
mov r14, qword [0x00696838]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x70]
test dl, dl
jne 0x428afb
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x88]
add rax, 0x1248
mov ebx, 3
call fcn.0041cde0
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
sub rcx, rdx
lea rdx, [0x00696970]
lock xadd qword [rdx], rcx
mov rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x78]
mov rbx, r9
movzx ecx, byte [rsp + 0xb0]
movzx edi, byte [rsp + 0xb1]
mov rsi, rax
mov r8, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
nop
call fcn.00428cc0
mov rbx, qword [rsp + 0xa8]
shl rbx, 0xd
mov qword [rsp + 0x68], rbx
mov rdx, qword [rsp + 0x38]
nop dword [rax + rax]
test rdx, rdx
je 0x428ba2
mov rax, qword [rsp + 0x58]
mov rcx, rdx
neg rdx
mov qword [rsp + 0x60], rdx
nop
lea rsi, [0x00697198]
lock xadd qword [rsi], rcx
call fcn.00416740
lea rax, [0x00697178]
mov rbx, qword [rsp + 0x60]
call fcn.00431520
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
sub rdx, rbx
lea rax, [0x00697180]
mov rbx, rdx
call fcn.00431520
movzx ecx, byte [rsp + 0xb0]
nop dword [rax]
test cl, cl
jne 0x428bd5
lea rax, [0x00697170]
mov rbx, qword [rsp + 0x68]
call fcn.00431520
lea rax, [0x00698440]
nop dword [rax]
call fcn.004315e0
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
lock xadd qword [rax], rcx
neg rdx
lock xadd qword [rax + 8], rdx
movzx ecx, byte [rsp + 0xb0]
cmp cl, 1
ja 0x428c26
test cl, cl
jne 0x428c19
mov rcx, qword [rsp + 0x68]
lock xadd qword [rax + 0x10], rcx
jmp 0x428c48
mov rcx, qword [rsp + 0x68]
lock xadd qword [rax + 0x18], rcx
jmp 0x428c48
cmp cl, 2
jne 0x428c38
mov rcx, qword [rsp + 0x68]
lock xadd qword [rax + 0x28], rcx
jmp 0x428c48
cmp cl, 3
jne 0x428c48
mov rcx, qword [rsp + 0x68]
lock xadd qword [rax + 0x20], rcx
lea rax, [0x00698440]
call fcn.004316c0
mov rax, qword [rsp + 0x78]
add rsp, 0x90
pop rbp
ret
lea rax, [0x004e9398]
mov ebx, 0x2b
call fcn.00437040
mov rax, r10
mov ecx, pe_nt_image_headers64
nop dword [rax + rax]
call fcn.00466800
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov byte [rsp + 0x19], dil
call fcn.0046b0c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
movzx edi, byte [rsp + 0x19]
jmp fcn.00428700