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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x456513
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x98], sil
mov dword [rsp + 0x9c], r8d
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x48], rbx
mov rdx, qword [rdi]
lea r10, [rax + 0x34]
mov qword [rsp + 0x30], r10
mov rax, rdx
test rdx, rdx
je 0x4560c5
mov r11, qword [rdx + 0x10]
add r11, 0xffffffffffff0418
neg r11
nop
cmp r11, r10
jge 0x4560db
mov ebx, ecx
call fcn.004567a0
nop
mov rdx, rax
mov rcx, qword [rsp + 0x90]
mov qword [rcx], rax
mov qword [rsp + 0x38], rdx
call fcn.00464a60
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp]
shr rax, 6
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbx + 8]
mov rdx, rax
sub rax, rcx
inc rcx
test rax, rax
cmove rdx, rcx
mov qword [rbx + 8], rdx
mov ecx, 1
cmove rax, rcx
mov ecx, dword [rsp + 0x9c]
test ecx, ecx
je 0x45613c
mov rsi, qword [rsp + 0xa0]
jmp 0x456149
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
jl 0x456154
mov rdx, qword [rsp + 0x68]
lea r8d, [rdx + 1]
jmp 0x456160
mov rdx, qword [rsp + 0x68]
mov r8, rdx
nop dword [rax]
cmp r8b, 3
jbe 0x45616c
mov r8d, 3
mov r9, qword [rbx + 0x10]
mov r10d, r8d
shl r8d, 6
movzx r11d, byte [rsp + 0x98]
or r8d, r11d
cmp r9, 0xfbe8
jae 0x456505
mov byte [rbx + r9 + 0x418], r8b
mov r8, qword [rbx + 0x10]
inc r8
mov qword [rbx + 0x10], r8
cmp r10b, 3
jne 0x4561b0
xor edi, edi
jmp 0x4564a4
xor edi, edi
mov r8, qword [rbx + 0x10]
jmp 0x4561d0
mov r10, rax
or eax, 0xffffff80
mov byte [rbx + r8 + 0x418], al
shr r10, 7
inc r8
mov rax, r10
cmp rax, 0x80
jb 0x4561ee
nop dword [rax + rax]
cmp r8, 0xfbe8
jb 0x4561b8
jmp 0x45647f
cmp r8, 0xfbe8
jae 0x456472
mov byte [rbx + r8 + 0x418], al
inc r8
mov qword [rbx + 0x10], r8
mov r8, qword [rsp + 0x60]
xor eax, eax
jmp 0x456226
mov byte [rbx + r11 + 0x418], r10b
lea r10, [r11 + 1]
mov qword [rbx + 0x10], r10
inc rax
cmp rdx, rax
jle 0x45624e
mov r10, qword [r8 + rax*8]
nop
mov r11, qword [rbx + 0x10]
jmp 0x456440
cmp r11, 0xfbe8
jb 0x456213
jmp 0x456458
test ecx, ecx
je 0x456260
mov edx, ecx
mov rsi, qword [rbx + 0x10]
jmp 0x4563ce
test rsi, rsi
jne 0x456270
mov rdx, qword [rbx + 0x10]
xor eax, eax
jmp 0x456369
jle 0x4562a2
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x40], rdi
lea rdx, [rbx + 0x18]
mov rax, qword [rsp + 0x48]
mov ecx, pe_nt_image_headers64
mov rdi, rcx
mov rbx, rdx
call fcn.00456580
mov rdx, qword [rsp + 0x38]
mov r8, qword [rdx + 0x10]
nop
jmp 0x4562f1
mov rcx, qword [rbx + 0x10]
sub rcx, r9
mov rdx, qword [rsp + 0x30]
cmp rcx, rdx
jg 0x4562c8
test rdi, rdi
je 0x4562be
lea rax, [rcx - 2]
mov byte [rdi], al
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
lea rax, [0x006bf2e2]
mov ebx, 0x1d
call fcn.00437c00
mov rsi, rax
or eax, 0xffffff80
mov byte [rdx + r8 + 0x418], al
shr rsi, 7
inc r8
mov rax, rsi
cmp rax, 0x80
jb 0x45630b
nop dword [rax]
cmp r8, 0xfbe8
jb 0x4562d9
jmp 0x456345
cmp r8, 0xfbe8
jae 0x456336
mov byte [rdx + r8 + 0x418], al
lea rcx, [r8 + 1]
mov qword [rdx + 0x10], rcx
mov rbx, rdx
mov rdi, qword [rsp + 0x40]
mov r9, qword [rsp + 0x28]
jmp 0x4562a2
mov rax, r8
mov ecx, 0xfbe8
nop
call fcn.00465080
mov rax, r8
mov ecx, 0xfbe8
call fcn.00465080
mov rsi, rax
or eax, 0xffffff80
mov byte [rbx + rdx + 0x418], al
shr rsi, 7
inc rdx
mov rax, rsi
cmp rax, 0x80
jb 0x456380
cmp rdx, 0xfbe8
jb 0x456352
jmp 0x4563aa
cmp rdx, 0xfbe8
jae 0x45639d
mov byte [rbx + rdx + 0x418], al
lea rcx, [rdx + 1]
mov qword [rbx + 0x10], rcx
jmp 0x4562a2
mov rax, rdx
mov ecx, 0xfbe8
call fcn.00465080
mov rax, rdx
mov ecx, 0xfbe8
call fcn.00465080
mov r8, rdx
or edx, 0xffffff80
mov byte [rbx + rsi + 0x418], dl
shr r8, 7
inc rsi
mov rdx, r8
cmp rdx, 0x80
jb 0x4563eb
nop word [rax + rax]
cmp rsi, 0xfbe8
jb 0x4563b7
jmp 0x456415
cmp rsi, 0xfbe8
jae 0x456408
mov byte [rbx + rsi + 0x418], dl
lea rcx, [rsi + 1]
mov qword [rbx + 0x10], rcx
jmp 0x4562a2
mov rax, rsi
mov ecx, 0xfbe8
call fcn.00465080
mov rax, rsi
mov ecx, 0xfbe8
nop dword [rax]
call fcn.00465080
mov r12, r10
or r10d, 0xffffff80
mov byte [rbx + r11 + 0x418], r10b
shr r12, 7
inc r11
mov r10, r12
nop
cmp r10, 0x80
jb 0x456240
cmp r11, 0xfbe8
jb 0x456425
jmp 0x456465
mov rax, r11
mov ecx, 0xfbe8
call fcn.00465080
mov rax, r11
mov ecx, 0xfbe8
call fcn.00465080
mov rax, r8
mov ecx, 0xfbe8
call fcn.00465080
mov rax, r8
mov ecx, 0xfbe8
call fcn.00465080
mov r10, rdi
or edi, 0xffffff80
mov byte [rbx + r8 + 0x418], dil
shr r10, 7
inc r8
mov rdi, r10
cmp rdi, 0x80
jb 0x4564c0
cmp r8, 0xfbe8
jb 0x45648c
jmp 0x4564f6
cmp r8, 0xfbe8
jae 0x4564e9
mov byte [rbx + r8 + 0x418], dil
lea r10, [r8 + 1]
mov qword [rbx + 0x10], r10
lea rdi, [rbx + r8]
lea rdi, [rdi + 0x418]
jmp 0x4561b2
mov rax, r8
mov ecx, 0xfbe8
call fcn.00465080
mov rax, r8
mov ecx, 0xfbe8
nop
call fcn.00465080
mov rax, r9
mov ecx, 0xfbe8
call fcn.00465080
nop
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x40], sil
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x48], r9
call fcn.004629a0
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x48]
nop dword [rax]
jmp fcn.00456060