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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x4d82d2
sub rsp, 0x40
mov qword [rsp + 0x38], rbp
lea rbp, [rsp + 0x38]
movzx edx, byte [rsp + 0x60]
test dl, dl
je 0x4d81df
mov rdx, qword [rsp + 0x50]
test rdx, rdx
setl bl
test bl, bl
je 0x4d7d67
neg rdx
mov rsi, qword [rsp + 0x48]
lea rdi, [rsi + 0x28]
cmp byte [rsi + 8], 0
je 0x4d81cb
mov r8, qword [rsi + 0x18]
add r8, qword [rsi + 0x20]
add r8, 3
cmp r8, 0x44
jg 0x4d8185
mov eax, 0x44
cmp byte [rsi + 9], 0
je 0x4d814d
mov r8, qword [rsi + 0x20]
test r8, r8
jne 0x4d7db1
test rdx, rdx
je 0x4d8118
mov r9, qword [rsp + 0x58]
nop word [rax + rax]
nop
cmp r9, 8
jg 0x4d8065
cmp r9, 2
jne 0x4d8020
mov rcx, rax
jmp 0x4d7df2
mov r11, rdx
and rdx, 1
lea r12, [rdx + 0x30]
mov byte [rax + rdi - 1], r12b
shr r11, 1
mov rdx, r11
mov rax, r10
cmp rdx, 2
jb 0x4d7e0a
lea r10, [rax - 1]
nop dword [rax]
cmp r10, rcx
jb 0x4d7dd9
jmp 0x4d8285
mov r10, qword [rsp + 0x70]
cmp r10, rdx
jbe 0x4d8275
lea r11, [rax - 1]
mov r12, qword [rsp + 0x68]
movzx edx, byte [rdx + r12]
cmp r11, rcx
jae 0x4d826d
mov byte [rax + rdi - 1], dl
jmp 0x4d7e41
mov byte [r11 + rdi - 1], 0x30
dec r11
mov rcx, rdx
test r11, r11
jle 0x4d8016
mov rdx, rcx
sub rcx, r11
cmp rcx, r8
jl 0x4d7e35
cmp byte [rsi + 0xc], 0
je 0x4d800e
nop
cmp r9, 2
jne 0x4d7f86
lea rax, [r11 - 1]
cmp rax, rdx
jae 0x4d8265
mov byte [r11 + rdi - 1], 0x62
lea rax, [r11 - 2]
cmp rax, rdx
jae 0x4d8258
mov byte [r11 + rdi - 2], 0x30
mov r8d, dword [rsp + 0x64]
cmp r8d, 0x4f
jne 0x4d7f7c
lea r8, [rax - 1]
cmp r8, rdx
jae 0x4d8218
mov byte [rax + rdi - 1], 0x6f
lea r8, [rax - 2]
cmp rdx, r8
jbe 0x4d820d
mov byte [rax + rdi - 2], 0x30
test bl, bl
je 0x4d7f31
lea rax, [r8 - 1]
cmp rdx, rax
jbe 0x4d8205
mov byte [r8 + rdi - 1], 0x2d
movzx ebx, byte [rsi + 0xe]
mov byte [rsi + 0xe], 0
cmp rdx, rax
jb 0x4d81eb
mov byte [rsp + 0x26], bl
mov qword [rsp], rsi
sub rdx, rax
mov rcx, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add rax, rdi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rcx
call fcn.004d7200
movzx eax, byte [rsp + 0x26]
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0xe], al
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
cmp byte [rsi + 0xb], 0
je 0x4d7f51
lea rax, [r8 - 1]
nop dword [rax + rax]
cmp rdx, rax
jbe 0x4d81fb
mov byte [r8 + rdi - 1], 0x2b
jmp 0x4d7eda
cmp byte [rsi + 0xd], 0
je 0x4d7f74
lea rax, [r8 - 1]
nop dword [rax + rax]
cmp rdx, rax
jbe 0x4d81f3
mov byte [r8 + rdi - 1], 0x20
jmp 0x4d7eda
mov rax, r8
jmp 0x4d7eda
test bl, bl
mov r8, rax
jmp 0x4d7ec5
cmp r9, 8
jne 0x4d7fc6
cmp r11, rdx
jae 0x4d824d
movzx r8d, byte [rdi + r11]
nop word [rax + rax]
cmp r8b, 0x30
je 0x4d7fbe
lea rax, [r11 - 1]
cmp rax, rdx
jae 0x4d8245
mov byte [r11 + rdi - 1], 0x30
jmp 0x4d7e90
mov rax, r11
jmp 0x4d7e90
cmp r9, 0x10
jne 0x4d8006
cmp r10, 0x10
jbe 0x4d8235
lea rax, [r11 - 1]
movzx r8d, byte [r12 + 0x10]
cmp rax, rdx
jae 0x4d822d
mov byte [r11 + rdi - 1], r8b
lea rax, [r11 - 2]
cmp rax, rdx
jae 0x4d8225
mov byte [r11 + rdi - 2], 0x30
jmp 0x4d7e90
mov rax, r11
jmp 0x4d7e90
mov rax, r11
jmp 0x4d7e90
mov rdx, rcx
jmp 0x4d7e55
cmp r9, 8
jne 0x4d82b5
mov rcx, rax
jmp 0x4d8049
mov r11, rdx
and rdx, 7
lea r12, [rdx + 0x30]
mov byte [rax + rdi - 1], r12b
shr r11, 3
mov rdx, r11
mov rax, r10
cmp rdx, 8
jb 0x4d7e0a
lea r10, [rax - 1]
cmp r10, rcx
jb 0x4d802f
nop dword [rax]
jmp 0x4d828d
cmp r9, 0xa
jne 0x4d80c0
mov rcx, rax
jmp 0x4d8080
add r12, 0x30
mov byte [r11 + rdi - 1], r12b
mov rax, r10
nop dword [rax]
cmp rdx, 0xa
jb 0x4d7e0a
lea r10, [rax - 1]
mov r11, rax
movabs rax, 0xcccccccccccccccd
mov r12, rdx
mul rdx
shr rdx, 3
lea r13, [rdx + rdx*4]
shl r13, 1
sub r12, r13
cmp r10, rcx
jb 0x4d8070
jmp 0x4d82ad
cmp r9, 0x10
jne 0x4d82b5
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov r11, rax
jmp 0x4d80e7
mov byte [rax + rdi - 1], dl
shr r12, 4
mov rdx, r12
mov rax, r13
cmp rdx, 0x10
jb 0x4d8110
mov r12, rdx
and rdx, 0xf
cmp rdx, rcx
jae 0x4d82a5
lea r13, [rax - 1]
movzx edx, byte [rdx + r10]
cmp r13, r11
jb 0x4d80d9
jmp 0x4d8295
mov rcx, r11
jmp 0x4d7e0a
movzx eax, byte [rsi + 0xe]
mov byte [rsp + 0x25], al
mov byte [rsi + 0xe], 0
mov rcx, qword [rsi + 0x18]
mov qword [rsp], rsi
mov qword [rsp + 8], rcx
call fcn.004d7060
movzx eax, byte [rsp + 0x25]
mov rcx, qword [rsp + 0x48]
mov byte [rcx + 0xe], al
mov rbp, qword [rsp + 0x38]
add rsp, 0x40
ret
cmp byte [rsi + 0xe], 0
je 0x4d817d
cmp byte [rsi + 8], 0
je 0x4d817d
mov r8, qword [rsi + 0x18]
nop dword [rax]
test bl, bl
je 0x4d816c
dec r8
jmp 0x4d7db1
cmp byte [rsi + 0xb], 0
jne 0x4d8164
cmp byte [rsi + 0xd], 0
jne 0x4d8164
jmp 0x4d7db1
xor r8d, r8d
jmp 0x4d7db1
mov byte [rsp + 0x27], bl
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], rdx
lea rax, [0x00614000]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r8
call fcn.0044dcc0
mov rdi, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0x27]
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x28]
jmp 0x4d7d95
cmp byte [rsi + 9], 0
jne 0x4d7d7a
mov eax, 0x44
jmp 0x4d7d95
mov rdx, qword [rsp + 0x50]
xor ebx, ebx
jmp 0x4d7d60
mov rcx, rdx
call fcn.0046ce80
mov rcx, rdx
call fcn.0046cdc0
mov rcx, rdx
nop
call fcn.0046cdc0
mov rcx, rdx
call fcn.0046cdc0
mov rax, r8
mov rcx, rdx
call fcn.0046cdc0
mov rax, r8
mov rcx, rdx
nop
call fcn.0046cdc0
mov rcx, rdx
call fcn.0046cdc0
mov rcx, rdx
call fcn.0046cdc0
mov eax, 0x10
mov rcx, r10
nop dword [rax]
call fcn.0046cdc0
mov rcx, rdx
call fcn.0046cdc0
mov rax, r11
mov rcx, rdx
call fcn.0046cdc0
mov rcx, rdx
nop dword [rax + rax]
call fcn.0046cdc0
mov rcx, rdx
call fcn.0046cdc0
mov rax, r11
call fcn.0046cdc0
mov rax, rdx
mov rcx, r10
nop dword [rax + rax]
call fcn.0046cde0
mov rax, r10
call fcn.0046cdc0
mov rax, r10
call fcn.0046cdc0
mov rax, r13
mov rcx, r11
nop dword [rax + rax]
call fcn.0046cdc0
mov rax, rdx
call fcn.0046cde0
mov rax, r10
call fcn.0046cdc0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1300]
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.004d7d20