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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4a4655
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
mov qword [rsp + 0x80], rbx
mov r12, qword [0x007dfb30]
mov r13, qword [0x007dfb38]
test r12, r12
jne 0x4a4641
mov byte [rsp + 0x90], dil
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rbx
cmp rcx, 4
jg 0x4a436f
nop
cmp rcx, 2
jne 0x4a40a0
cmp word [rbx], 0x7069
je 0x4a43e9
jmp 0x4a460e
cmp rcx, 3
je 0x4a4245
cmp rcx, 4
jne 0x4a460e
mov rax, rbx
mov rbx, rcx
lea rcx, [0x00644875]
mov edi, 4
call fcn.00402960
test rax, rax
jg 0x4a4165
mov rdi, qword [rsp + 0x80]
cmp dword [rdi], 0x656c6966
jne 0x4a410b
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 0x220], 1
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43f0
cmp dword [rdi], 0x65706970
jne 0x4a413a
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 0x220], 4
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43f0
cmp dword [rdi], 0x34706374
jne 0x4a4231
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
nop
jmp 0x4a43e9
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
lea rcx, [0x00644881]
mov edi, 4
call fcn.00402960
test rax, rax
jg 0x4a41df
mov rdi, qword [rsp + 0x80]
cmp dword [rdi], 0x36706374
jne 0x4a41b8
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
cmp dword [rdi], 0x34706475
nop
jne 0x4a4231
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
mov rdi, qword [rsp + 0x80]
cmp dword [rdi], 0x36706475
jne 0x4a420c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
cmp dword [rdi], 0x78696e75
jne 0x4a4231
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
nop dword [rax]
jmp 0x4a460e
mov rax, rbx
mov rbx, rcx
lea rcx, [0x00644631]
mov edi, 3
call fcn.00402960
nop dword [rax]
test rax, rax
jg 0x4a42d7
mov rdi, qword [rsp + 0x80]
cmp word [rdi], 0x6964
jne 0x4a42a5
cmp byte [rdi + 2], 0x72
jne 0x4a42a5
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 0x220], 3
mov rax, rcx
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
nop dword [rax]
jmp 0x4a43f0
cmp word [rdi], 0x7069
jne 0x4a435f
cmp byte [rdi + 2], 0x34
jne 0x4a435f
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
mov rdi, qword [rsp + 0x80]
cmp word [rdi], 0x7069
jne 0x4a4309
cmp byte [rdi + 2], 0x36
jne 0x4a4309
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
cmp word [rdi], 0x6374
jne 0x4a4333
cmp byte [rdi + 2], 0x70
jne 0x4a4333
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
cmp word [rdi], 0x6475
jne 0x4a435f
cmp byte [rdi + 2], 0x70
nop
jne 0x4a435f
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
movzx edi, byte [rsp + 0x90]
jmp 0x4a43e9
mov rcx, qword [rsp + 0x88]
mov rbx, rdi
jmp 0x4a460e
cmp rcx, 7
jne 0x4a43a5
cmp dword [rbx], 0x736e6f63
nop dword [rax + rax]
jne 0x4a460e
cmp word [rbx + 4], 0x6c6f
jne 0x4a460e
cmp byte [rbx + 6], 0x65
jne 0x4a460e
mov byte [rax + 0x220], 2
jmp 0x4a43f0
cmp rcx, 8
jne 0x4a43c0
movabs r12, 0x6d61726778696e75
cmp qword [rbx], r12
je 0x4a43e9
jmp 0x4a460e
cmp rcx, 0xa
jne 0x4a460e
movabs r12, 0x6b63617078696e75
cmp qword [rbx], r12
jne 0x4a460e
cmp word [rbx + 8], 0x7465
jne 0x4a460e
mov byte [rax + 0x220], 0
cmp byte [rax + 0x220], 0
setne byte [rax + 0x21f]
nop
test dil, dil
jne 0x4a440b
xor edx, edx
xor esi, esi
jmp 0x4a4440
lea rcx, [rax + 0x1b8]
mov rbx, rax
mov rax, rcx
call fcn.004a3400
mov rcx, qword [rsp + 0x88]
movzx edi, byte [rsp + 0x90]
mov rdx, rax
mov rsi, rbx
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov r12, qword [0x007dee18]
test r12, r12
je 0x4a4496
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rsi
mov r8, qword [r12]
mov rdi, rdx
mov rdx, r12
mov r9, rax
mov rax, rbx
mov rbx, rcx
mov rcx, r9
call r8
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
movzx edi, byte [rsp + 0x90]
test rdx, rdx
jne 0x4a45fa
nop
test dil, dil
je 0x4a4520
cmp byte [0x00837f6d], 0
je 0x4a4520
cmp rcx, 3
jne 0x4a44c9
cmp word [rbx], 0x6374
jne 0x4a44c9
cmp byte [rbx + 2], 0x70
nop
jne 0x4a44c9
mov edx, 3
jmp 0x4a44ce
mov edx, 2
mov byte [rsp + 0x4f], dl
mov rcx, qword [rax + 0x10]
mov ebx, edx
mov rax, rcx
nop dword [rax + rax]
call fcn.00490360
test rax, rax
jne 0x4a4502
movzx edx, byte [rsp + 0x4f]
test dl, 1
je 0x4a4502
mov rdx, qword [rsp + 0x78]
mov byte [rdx + 0x21c], 1
jmp 0x4a4507
mov rdx, qword [rsp + 0x78]
mov rax, rdx
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
nop word [rax + rax]
cmp rcx, 3
jne 0x4a4539
cmp word [rbx], 0x6475
jne 0x4a45b2
cmp byte [rbx + 2], 0x70
je 0x4a454f
jmp 0x4a45b2
cmp rcx, 4
jne 0x4a45b2
cmp dword [rbx], 0x34706475
je 0x4a454f
cmp dword [rbx], 0x36706475
jne 0x4a45b2
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov rdx, qword [rax + 0x10]
mov ebx, 0x9800000c
lea rcx, [rsp + 0x54]
mov edi, 4
xor esi, esi
xor r8d, r8d
lea r9, [rsp + 0x50]
xor r10d, r10d
xor r11d, r11d
mov rax, rdx
call fcn.00490f40
test rax, rax
jne 0x4a4596
mov rax, qword [rsp + 0x78]
jmp 0x4a45b2
mov rcx, rax
mov rdi, rbx
lea rax, [0x0064566f]
mov ebx, 8
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov dword [rax + 0x40], 0x72
mov dword [rax + 0x110], 0x77
mov qword [rax + 0x50], rax
mov qword [rax + 0x120], rax
mov rdx, qword [rax + 0x1b8]
mov qword [rax + 0x38], rdx
mov rdx, qword [rax + 0x1b8]
mov qword [rax + 0x108], rdx
xor eax, eax
xor ebx, ebx
xor ecx, ecx
mov rdi, rax
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
xor eax, eax
xor ebx, ebx
mov rcx, rdx
mov rdi, rsi
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
xor eax, eax
mov rdi, rbx
mov rsi, rcx
lea rbx, [0x00652578]
mov ecx, 0x25
call fcn.0044c9c0
call fcn.00468600
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
nop
ret
xor eax, eax
xor ebx, ebx
mov rcx, r12
mov rdi, r13
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
jmp fcn.004a4020