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

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x4d73a0
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rbx
mov rax, rbx
mov rbx, rcx
mov rcx, rdi
xor edi, edi
call fcn.004d67a0
nop word [rax + rax]
test rax, rax
jne 0x4d7003
test rcx, rcx
jne 0x4d6f26
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x80], rsi
mov rcx, r9
and r9d, 0x1f
nop
nop
cmp r9, 0x11
je 0x4d6da6
cmp r9, 0x14
je 0x4d6db2
nop dword [rax]
cmp r9, 0x17
jne 0x4d6dde
mov qword [rsp + 0x50], r9
xor eax, eax
jmp 0x4d709a
mov rax, rsi
mov rbx, r8
call fcn.004939a0
nop dword [rax]
test rax, rax
je 0x4d6ea3
mov rcx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov rax, rsi
mov rbx, r8
call fcn.00494fe0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x006a7340]
call fcn.0040d480
mov qword [rax + 8], 5
lea rdx, [0x006c4dce]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
cmp dword [0x0092d940], 0
jne 0x4d6e2a
mov rdx, qword [rsp + 0x78]
jmp 0x4d6e37
call fcn.0045fe20
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x18], rdx
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x20], rsi
cmp qword [rdx + 0x70], 0
jne 0x4d6e8e
lea rbx, [0x00741820]
mov rcx, rax
mov rax, rdx
nop
call fcn.004d6020
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 0x70], rax
cmp dword [0x0092d940], 0
je 0x4d6e8a
call fcn.0045fe40
mov qword [r11], rbx
mov rcx, qword [rdx + 0x78]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x78], rbx
mov rax, rdx
call fcn.004d6160
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
mov rax, qword [rsp + 0xa0]
call fcn.004daf80
call fcn.0040a9e0
lea rcx, [0x0066b9e0]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x4d6eef
movzx edx, byte [rcx + 0x17]
mov r9d, edx
and edx, 0x1f
mov r10, rdx
or rdx, 0x80
nop
test r9b, 0x20
cmove r10, rdx
jmp 0x4d6ef6
xor r10d, r10d
xor ecx, ecx
xor eax, eax
mov rbx, qword [rsp + 0x88]
mov rdi, rcx
mov rsi, rax
mov r8, r10
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
call fcn.00493ce0
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
nop dword [rax + rax]
call fcn.00494fe0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x006a7340]
call fcn.0040d480
mov qword [rax + 8], 5
lea rdx, [0x006c4dce]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
cmp dword [0x0092d940], 0
jne 0x4d6f86
mov rdx, qword [rsp + 0x78]
jmp 0x4d6f93
call fcn.0045fe20
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x18], rdx
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rdx + 0x18]
mov qword [rax + 0x20], rsi
cmp qword [rdx + 0x70], 0
jne 0x4d6fee
lea rbx, [0x00741820]
mov rcx, rax
mov rax, rdx
nop dword [rax + rax]
call fcn.004d6020
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 0x70], rax
cmp dword [0x0092d940], 0
je 0x4d6fea
call fcn.0045fe40
mov qword [r11], rbx
mov rcx, qword [rdx + 0x78]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x78], rbx
mov rax, rdx
call fcn.004d6160
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x38], rax
nop
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x40], rcx
nop
call fcn.004d6160
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x18]
cmp rdx, rbx
jb 0x4d708f
mov rax, qword [rsp + 0x40]
lea rsi, [rax - 1]
cmp rbx, rsi
jb 0x4d7084
mov r8, qword [rsp + 0x38]
mov r8, qword [r8 + 0x18]
mov r9, qword [rcx]
sub rdx, rax
sub rbx, rax
lea rdi, [rdx + 1]
mov rdx, rdi
neg rdx
lea rcx, [rbx + 1]
sar rdx, 0x3f
and rsi, rdx
lea rbx, [r9 + rsi]
mov rax, qword [rsp + 0x60]
call r8
add rsp, 0x90
pop rbp
ret
mov rax, rsi
mov rcx, rbx
call fcn.004602a0
mov rcx, rbx
call fcn.00460260
mov rax, rsi
mov qword [rsp + 0x30], rax
mov ebx, 9
mov rax, qword [rsp + 0xa0]
call fcn.004d62c0
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x20], 8
nop
je 0x4d724b
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x17
jne 0x4d7165
nop
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x88]
cmp qword [rbx + 0x10], rdi
jg 0x4d711f
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov edi, 1
nop dword [rax + rax]
call fcn.004954a0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x30]
nop
cmp qword [rbx + 8], rdi
jle 0x4d712c
cmp rdx, 0x17
jmp 0x4d7172
lea rdx, [rdi + 1]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov rdi, rdx
call fcn.00494660
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x17
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x30]
jmp 0x4d7172
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x30]
jne 0x4d717a
mov rsi, qword [rbx + 8]
jmp 0x4d71a9
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
call fcn.00493140
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x30]
mov rsi, rax
mov rax, qword [rsp + 0xa0]
cmp rdi, rsi
jge 0x4d71e7
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
nop dword [rax + rax]
call fcn.004921e0
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xa0]
call fcn.004d6540
nop dword [rax + rax]
test rax, rax
je 0x4d71f7
jmp 0x4d7239
xor ebx, ebx
xor ecx, ecx
xor edi, edi
call fcn.004d6540
test rax, rax
jne 0x4d7242
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x20], 9
jne 0x4d7218
mov ebx, 9
call fcn.004d62c0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rax + 0x20]
mov rsi, qword [rsp + 0x30]
inc rsi
cmp rdx, 8
je 0x4d7250
cmp rdx, 7
je 0x4d7097
jmp 0x4d738c
add rsp, 0x90
pop rbp
ret
add rsp, 0x90
pop rbp
ret
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x30], rsi
mov rdx, qword [rsp + 0x50]
nop word [rax + rax]
cmp rdx, 0x17
jne 0x4d7274
mov rbx, qword [rsp + 0x88]
mov r8, qword [rbx + 8]
jmp 0x4d72a3
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
call fcn.00493140
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x30]
mov r8, rax
cmp rsi, r8
jge 0x4d72ce
cmp rdx, 0x11
je 0x4d7366
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov rdi, rsi
call fcn.00494660
mov rax, qword [rsp + 0x30]
jmp 0x4d7325
test rsi, rsi
jne 0x4d7318
cmp rdx, 0x17
jne 0x4d7318
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
call fcn.00494fe0
xor ecx, ecx
mov rdi, rcx
call fcn.00495be0
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
call fcn.00493ce0
xor eax, eax
xor ebx, ebx
add rsp, 0x90
pop rbp
ret
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
mov rsi, rax
jmp 0x4d72ce
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x58]
call fcn.004921e0
call fcn.00492e60
mov rsi, qword [rsp + 0x30]
inc rsi
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
call fcn.00493140
mov rdi, qword [rsp + 0x30]
cmp rax, rdi
jg 0x4d7337
mov rax, rdi
jmp 0x4d7325
lea rax, [0x0066d140]
lea rbx, [0x007400d0]
call fcn.004337c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004d6d00