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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x455a93
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 0x455645
mov r11, qword [rdx + 0x10]
add r11, 0xffffffffffff0418
neg r11
nop
cmp r11, r10
jge 0x45565b
mov ebx, ecx
call fcn.00455d20
nop
mov rdx, rax
mov rcx, qword [rsp + 0x90]
mov qword [rcx], rax
mov qword [rsp + 0x38], rdx
call fcn.00463b40
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 0x4556bc
mov rsi, qword [rsp + 0xa0]
jmp 0x4556c9
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
jl 0x4556d4
mov rdx, qword [rsp + 0x68]
lea r8d, [rdx + 1]
jmp 0x4556e0
mov rdx, qword [rsp + 0x68]
mov r8, rdx
nop dword [rax]
cmp r8b, 3
jbe 0x4556ec
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 0x455a85
mov byte [rbx + r9 + 0x418], r8b
mov r8, qword [rbx + 0x10]
inc r8
mov qword [rbx + 0x10], r8
cmp r10b, 3
jne 0x455730
xor edi, edi
jmp 0x455a24
xor edi, edi
mov r8, qword [rbx + 0x10]
jmp 0x455750
mov r10, rax
or eax, 0xffffff80
mov byte [rbx + r8 + 0x418], al
shr r10, 7
inc r8
mov rax, r10
cmp rax, 0x80
jb 0x45576e
nop dword [rax + rax]
cmp r8, 0xfbe8
jb 0x455738
jmp 0x4559ff
cmp r8, 0xfbe8
jae 0x4559f2
mov byte [rbx + r8 + 0x418], al
inc r8
mov qword [rbx + 0x10], r8
mov r8, qword [rsp + 0x60]
xor eax, eax
jmp 0x4557a6
mov byte [rbx + r11 + 0x418], r10b
lea r10, [r11 + 1]
mov qword [rbx + 0x10], r10
inc rax
cmp rdx, rax
jle 0x4557ce
mov r10, qword [r8 + rax*8]
nop
mov r11, qword [rbx + 0x10]
jmp 0x4559c0
cmp r11, 0xfbe8
jb 0x455793
jmp 0x4559d8
test ecx, ecx
je 0x4557e0
mov edx, ecx
mov rsi, qword [rbx + 0x10]
jmp 0x45594e
test rsi, rsi
jne 0x4557f0
mov rdx, qword [rbx + 0x10]
xor eax, eax
jmp 0x4558e9
jle 0x455822
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.00455b00
mov rdx, qword [rsp + 0x38]
mov r8, qword [rdx + 0x10]
nop
jmp 0x455871
mov rcx, qword [rbx + 0x10]
sub rcx, r9
mov rdx, qword [rsp + 0x30]
cmp rcx, rdx
jg 0x455848
test rdi, rdi
je 0x45583e
lea rax, [rcx - 2]
mov byte [rdi], al
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
lea rax, [0x0062adde]
mov ebx, 0x1d
call fcn.00437180
mov rsi, rax
or eax, 0xffffff80
mov byte [rdx + r8 + 0x418], al
shr rsi, 7
inc r8
mov rax, rsi
cmp rax, 0x80
jb 0x45588b
nop dword [rax]
cmp r8, 0xfbe8
jb 0x455859
jmp 0x4558c5
cmp r8, 0xfbe8
jae 0x4558b6
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 0x455822
mov rax, r8
mov ecx, 0xfbe8
nop
call fcn.00464160
mov rax, r8
mov ecx, 0xfbe8
call fcn.00464160
mov rsi, rax
or eax, 0xffffff80
mov byte [rbx + rdx + 0x418], al
shr rsi, 7
inc rdx
mov rax, rsi
cmp rax, 0x80
jb 0x455900
cmp rdx, 0xfbe8
jb 0x4558d2
jmp 0x45592a
cmp rdx, 0xfbe8
jae 0x45591d
mov byte [rbx + rdx + 0x418], al
lea rcx, [rdx + 1]
mov qword [rbx + 0x10], rcx
jmp 0x455822
mov rax, rdx
mov ecx, 0xfbe8
call fcn.00464160
mov rax, rdx
mov ecx, 0xfbe8
call fcn.00464160
mov r8, rdx
or edx, 0xffffff80
mov byte [rbx + rsi + 0x418], dl
shr r8, 7
inc rsi
mov rdx, r8
cmp rdx, 0x80
jb 0x45596b
nop word [rax + rax]
cmp rsi, 0xfbe8
jb 0x455937
jmp 0x455995
cmp rsi, 0xfbe8
jae 0x455988
mov byte [rbx + rsi + 0x418], dl
lea rcx, [rsi + 1]
mov qword [rbx + 0x10], rcx
jmp 0x455822
mov rax, rsi
mov ecx, 0xfbe8
call fcn.00464160
mov rax, rsi
mov ecx, 0xfbe8
nop dword [rax]
call fcn.00464160
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 0x4557c0
cmp r11, 0xfbe8
jb 0x4559a5
jmp 0x4559e5
mov rax, r11
mov ecx, 0xfbe8
call fcn.00464160
mov rax, r11
mov ecx, 0xfbe8
call fcn.00464160
mov rax, r8
mov ecx, 0xfbe8
call fcn.00464160
mov rax, r8
mov ecx, 0xfbe8
call fcn.00464160
mov r10, rdi
or edi, 0xffffff80
mov byte [rbx + r8 + 0x418], dil
shr r10, 7
inc r8
mov rdi, r10
cmp rdi, 0x80
jb 0x455a40
cmp r8, 0xfbe8
jb 0x455a0c
jmp 0x455a76
cmp r8, 0xfbe8
jae 0x455a69
mov byte [rbx + r8 + 0x418], dil
lea r10, [r8 + 1]
mov qword [rbx + 0x10], r10
lea rdi, [rbx + r8]
lea rdi, [rdi + 0x418]
jmp 0x455732
mov rax, r8
mov ecx, 0xfbe8
call fcn.00464160
mov rax, r8
mov ecx, 0xfbe8
nop
call fcn.00464160
mov rax, r9
mov ecx, 0xfbe8
call fcn.00464160
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.00461a80
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.004555e0