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

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x48bf12
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
mov r13, 0
mov qword [rsp + 0x130], r13
mov byte [rsp + 0x178], r9b
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x160], rdi
mov byte [rsp + 0x46], 0
movups xmmword [rsp + 0x100], xmm15
test r9b, r9b
je 0x48b574
test rbx, rbx
jne 0x48b51f
mov ecx, 1
jmp 0x48b56c
lea rcx, [rbx - 1]
shl rcx, 4
mov rdx, qword [rax + rcx]
mov rcx, qword [rax + rcx + 8]
mov rdx, qword [rdx + 0x98]
mov rax, rcx
call rdx
cmp rax, 0x17
setne cl
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
movzx r9d, byte [rsp + 0x178]
test cl, cl
jne 0x48bed9
lea rcx, [0x009da3a0]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], 0
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0xb0], rcx
lea rdx, [rbx + rsi]
cmp rdx, 4
jle 0x48b647
cmp rdx, 8
jle 0x48b630
cmp rdx, 0x10
jle 0x48b619
cmp rdx, 0x20
jle 0x48b602
nop
cmp rdx, 0x40
jle 0x48b5ea
cmp rdx, 0x80
jg 0x48bec6
lea rax, [0x00a4e2c0]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, pe_nt_image_headers64
jmp 0x48b65c
lea rax, [0x00a4e540]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, 0x40
nop
jmp 0x48b65c
lea rax, [0x00a4e400]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, 0x20
jmp 0x48b65c
lea rax, [0x00a4e360]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, 0x10
jmp 0x48b65c
lea rax, [0x00a4e5e0]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, 8
jmp 0x48b65c
lea rax, [0x00a4e4a0]
call fcn.0040e6a0
lea rcx, [rax + 0x38]
mov edx, 4
mov qword [rsp + 0xc8], rax
mov r8, qword [rsp + 0xb0]
test byte [r8], al
cmp dword [0x011546d0], 0
jne 0x48b69b
mov r9, qword [r8]
mov qword [rax], r9
movups xmm0, xmmword [r8 + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [r8 + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [r8 + 0x28]
movups xmmword [rax + 0x28], xmm0
jmp 0x48b6cf
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xd0], rcx
mov rbx, rax
mov rcx, r8
lea rax, [0x00a670a0]
call fcn.00414a20
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x150]
test r8, r8
jle 0x48b6f0
mov rbx, qword [rsp + 0x148]
xor esi, esi
xor edi, edi
xor r9d, r9d
jmp 0x48bd4a
movzx esi, byte [rsp + 0x178]
test sil, sil
mov ebx, 0
mov edi, 0
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0xd0], rcx
je 0x48b739
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x47], 0x76
mov eax, ebx
lea rbx, [rsp + 0x47]
mov ecx, 1
mov rdi, rcx
call fcn.00489700
mov ebx, eax
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x47], 0x2e
mov eax, ebx
lea rbx, [rsp + 0x47]
mov ecx, 1
mov rdi, rcx
call fcn.00489700
mov rdx, qword [rsp + 0x168]
nop
test rdx, rdx
jle 0x48b786
mov rcx, qword [rsp + 0x160]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
jmp 0x48bbe1
mov rcx, qword [rsp + 0x60]
cmp rcx, 0x32
jg 0x48bba5
mov rsi, qword [rsp + 0xc8]
mov byte [rsi + 0x14], 0
mov dword [rsi + 0x10], eax
mov rdi, qword [rsp + 0x150]
mov word [rsi + 0x30], di
mov word [rsi + 0x32], dx
movzx edi, byte [rsp + 0x178]
nop dword [rax]
test dil, dil
je 0x48b7cf
or edx, 0xffff8000
mov word [rsi + 0x32], dx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x50], eax
lea rbx, [0x009e4d80]
lea rcx, [rsp + 0x50]
lea rax, [0x010fe968]
call fcn.0047aae0
test cl, cl
je 0x48b825
lea rdx, [0x009d6d60]
nop word [rax + rax]
cmp rax, rdx
jne 0x48bb95
mov rsi, qword [rbx]
mov qword [rsp + 0xd8], rsi
mov rdi, qword [rbx + 8]
mov qword [rsp + 0x70], rdi
xor eax, eax
nop
jmp 0x48bb2e
nop
xor eax, eax
lea rdx, [0x010fe960]
mov esi, 1
lock cmpxchg dword [rdx], esi
sete dl
test dl, dl
jne 0x48b84b
lea rax, [0x010fe960]
call fcn.0047c400
movups xmmword [rsp + 0x120], xmm15
lea rdx, [0x0048c100]
mov qword [rsp + 0x120], rdx
lea rdx, [0x010fe960]
mov qword [rsp + 0x128], rdx
lea rdx, [rsp + 0x120]
mov qword [rsp + 0x130], rdx
mov byte [rsp + 0x46], 1
mov edx, dword [rsp + 0x48]
mov dword [rsp + 0x4c], edx
lea rax, [0x010fe968]
lea rbx, [0x009e4d80]
lea rcx, [rsp + 0x4c]
call fcn.0047aae0
test cl, cl
je 0x48b8d6
lea rdx, [0x009d6d60]
cmp rax, rdx
jne 0x48bb02
mov rdx, qword [rbx]
mov qword [rsp + 0xf8], rdx
mov rsi, qword [rbx + 8]
mov qword [rsp + 0x70], rsi
xor eax, eax
jmp 0x48ba80
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x88], 0
lea rcx, [0x0048bf80]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x88], ecx
mov rax, qword [rsp + 0xc8]
call fcn.0048c160
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x58], rbx
call fcn.0048aa40
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x70], rbx
xor ecx, ecx
jmp 0x48b94d
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + 1]
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x70]
cmp rbx, rcx
jle 0x48b9d9
mov qword [rsp + 0x78], rcx
mov rbx, qword [rax + rcx*8]
mov qword [rsp + 0x90], rbx
mov rax, qword [rsp + 0xc8]
mov ecx, 1
call fcn.0048a300
test al, al
je 0x48b937
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
lea rdx, [rsp + 0x80]
call rcx
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
mov byte [rsp + 0x46], 0
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
xor ecx, ecx
xor edi, edi
xor esi, esi
call fcn.00485c20
call fcn.00460700
mov rdx, qword [rsp + 0xc8]
mov dword [rdx + 0x28], eax
mov dword [rdx + 0x2c], 0
mov r8, qword [rsp + 0x80]
mov rax, rdx
lea rdx, [rsp + 0x80]
call r8
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
mov byte [rsp + 0x46], 0
mov rdx, qword [rsp + 0x130]
mov r8, qword [rdx]
nop
call r8
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdi, qword [rsp + 0x78]
lea rax, [rdi + 1]
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x70]
nop dword [rax]
cmp rax, rsi
jge 0x48b8d6
mov qword [rsp + 0x78], rax
mov rbx, qword [rdx + rax*8]
mov qword [rsp + 0xa0], rbx
mov ecx, 1
mov rax, qword [rsp + 0xc8]
call fcn.0048a300
test al, al
je 0x48ba63
lea rax, [0x00dd54b0]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x108], rax
mov byte [rsp + 0x46], 0
mov rdx, qword [rsp + 0x130]
mov rax, qword [rdx]
nop
call rax
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rbx, rdx
lea rcx, [0x00a00040]
call fcn.0040b860
mov r8, qword [rsp + 0x78]
lea rax, [r8 + 1]
lea rdx, [0x009d6d60]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x70]
cmp rax, rdi
jge 0x48b825
mov qword [rsp + 0x78], rax
mov rbx, qword [rsi + rax*8]
mov qword [rsp + 0x98], rbx
mov ecx, 1
mov rax, qword [rsp + 0xc8]
call fcn.0048a300
test al, al
je 0x48bb11
lea rcx, [0x00dd54b0]
mov qword [rsp + 0x100], rcx
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x108], rbx
mov rax, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rbx, rdx
lea rcx, [0x00a00040]
nop
call fcn.0040b860
lea rax, [0x009e4c00]
lea rbx, [0x00db5470]
call fcn.004373c0
mov r9, qword [rsp + 0xe8]
lea rcx, [r9 + 0x10]
mov rbx, rdx
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x168]
mov r9, qword [rcx + 8]
mov r10, qword [rcx]
lea r11, [0x00dd54b0]
cmp r10, r11
jne 0x48bd05
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xe8], rcx
lea r10, [rsi + 1]
cmp rdi, r10
jae 0x48bc6b
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x48], eax
lea rax, [0x00aaeb40]
mov rbx, r8
mov rcx, rsi
mov rsi, r10
call fcn.0044b060
lea r10, [rbx + 1]
mov rdx, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0xb8]
lea r11, [0x00dd54b0]
mov r8, rax
mov rdi, rcx
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x68], rdi
lea r12, [r8 + rsi*8]
cmp dword [0x011546d0], 0
jne 0x48bc90
mov qword [r8 + rsi*8], r9
jmp 0x48bc98
mov rdi, r12
call fcn.00465860
mov dword [rsp + 0x54], 0
mov edx, dword [r9 + 0x10]
shr edx, 0x18
mov byte [rsp + 0x54], dl
mov edx, dword [r9 + 0x10]
shr edx, 0x10
mov byte [rsp + 0x55], dl
mov edx, dword [r9 + 0x10]
shr edx, 8
mov byte [rsp + 0x56], dl
mov edx, dword [r9 + 0x10]
mov byte [rsp + 0x57], dl
lea rbx, [rsp + 0x54]
mov ecx, 4
mov rdi, rcx
call fcn.00489700
mov rdx, qword [rsp + 0x70]
inc rdx
mov rsi, qword [rsp + 0x168]
cmp rsi, rdx
jg 0x48bbb8
mov rdx, rsi
mov rcx, qword [rsp + 0x60]
nop dword [rax]
jmp 0x48b78b
mov rax, r10
lea rbx, [0x00aaeb40]
lea rcx, [0x00a9e6e0]
call fcn.0040b940
mov r10, qword [rsp + 0xe0]
lea rbx, [r10 + 0x10]
mov r8, rsi
mov rsi, rdx
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
mov r9d, eax
mov rax, qword [rsp + 0xc8]
mov r10, qword [rbx + 8]
mov r11, qword [rbx]
lea r12, [0x00dd54b0]
nop dword [rax + rax]
cmp r11, r12
jne 0x48beb0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0xe0], rbx
lea r11, [rdi + 1]
cmp rdx, r11
jae 0x48bde9
mov qword [rsp + 0xc0], r10
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x48], r9d
lea rax, [0x00aaeb40]
mov rbx, rcx
mov rcx, rdi
mov rdi, rdx
mov rsi, r11
call fcn.0044b060
lea r11, [rbx + 1]
mov rbx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x150]
mov r9d, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
lea r12, [0x00dd54b0]
mov rdx, rcx
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], rdx
lea r13, [rcx + rdi*8]
cmp dword [0x011546d0], 0
jne 0x48be0e
mov qword [rcx + rdi*8], r10
jmp 0x48be19
mov rdi, r13
mov rdx, r10
call fcn.004657e0
mov dword [rsp + 0x54], 0
mov edx, dword [r10 + 0x10]
shr edx, 0x18
mov byte [rsp + 0x54], dl
mov edx, dword [r10 + 0x10]
shr edx, 0x10
mov byte [rsp + 0x55], dl
mov edx, dword [r10 + 0x10]
shr edx, 8
mov byte [rsp + 0x56], dl
mov edx, dword [r10 + 0x10]
mov byte [rsp + 0x57], dl
mov eax, r9d
lea rbx, [rsp + 0x54]
mov ecx, 4
mov rdi, rcx
call fcn.00489700
mov rdx, qword [rsp + 0x70]
inc rdx
mov rsi, qword [rsp + 0x150]
cmp rsi, rdx
jg 0x48bd1b
movzx r9d, byte [rsp + 0x178]
test r9b, r9b
mov esi, r9d
mov r8, qword [rsp + 0x150]
mov ebx, eax
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc8]
jmp 0x48b705
mov rax, r11
lea rbx, [0x00aaeb40]
lea rcx, [0x00a9e6e0]
call fcn.0040b940
lea rax, [0x009e4c00]
lea rbx, [0x00db5460]
call fcn.004373c0
lea rax, [0x009e4c00]
lea rbx, [0x00db5450]
call fcn.004373c0
nop
call fcn.00436260
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov byte [rsp + 0x38], r9b
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
movzx r9d, byte [rsp + 0x38]
nop
jmp fcn.0048b4a0