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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x41376e
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
je 0x4136c3
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x58]
sub rcx, qword [0x0083a728]
mov rdi, rcx
shr rcx, 3
mov r8, qword [0x0083a718]
shr rdi, 5
sub r8, rdi
lea rdi, [r8 - 1]
and rcx, 3
cmp rdx, 0x10
je 0x413666
movzx r8d, byte [rbx + 0x17]
test r8b, 0x40
jne 0x413626
mov r8, qword [rbx]
mov rax, qword [rsp + 0x68]
cmp r8, rax
jae 0x413603
mov r9, qword [rbx + 8]
shr r9, 3
cmp r9, 0x39
ja 0x4135c5
mov r10, rsi
xor r11d, r11d
xor r12d, r12d
jmp 0x413227
lea r13, [r11 + 8]
movzx r14d, byte [rsi]
mov r15, rcx
mov rcx, r11
shl r14, cl
cmp rcx, 0x40
mov rcx, r15
sbb r15, r15
and r14, r15
or r12, r14
inc rsi
mov r11, r13
cmp r11, r9
jb 0x413200
mov rsi, r8
shr r8, 3
lea r9, [r8 + r8]
cmp r9, 0x39
ja 0x4135b4
mov r9, r8
jmp 0x413266
mov r11, rcx
mov rcx, r8
mov r13, r12
shl r12, cl
cmp rcx, 0x40
sbb r14, r14
and r12, r14
or r12, r13
lea r8, [rcx + rcx]
mov rcx, r11
cmp r8, 0x40
jbe 0x413246
test r9b, r9b
je 0x413767
movzx r8d, r9b
mov r11d, 0x39
movzx r11d, r11b
mov r13, rax
mov eax, r11d
mov r11, rdx
xor edx, edx
div r8w
movzx edx, al
imul rdx, r9
mov rax, rcx
mov rcx, rdx
mov r8d, 1
shl r8, cl
cmp rcx, 0x40
sbb r9, r9
and r8, r9
dec r8
and r12, r8
xor edx, edx
xor r8d, r8d
mov r9, rcx
test rdx, rdx
je 0x4135ac
movzx r14d, byte [rdx]
inc rdx
mov ecx, 8
cmp r13, rsi
jne 0x41357a
mov rsi, qword [rbx + 8]
shr rsi, 3
test rsi, rsi
je 0x4136e8
cmp rsi, 2
jae 0x413572
mov ebx, 2
test eax, eax
jne 0x41351c
mov rax, r14
and r14, 0xf
or r14, 0xd0
cmp rbx, 4
ja 0x4133ab
mov eax, 4
cmp rax, rbx
jbe 0x4133a6
mov rdx, rax
sub rax, rbx
lea rcx, [rax - 4]
neg rcx
mov eax, 1
shl rax, cl
cmp rcx, 0x40
sbb rbx, rbx
and rax, rbx
dec rax
mov rbx, rax
shl rax, 4
or rax, rbx
and r14, rax
shr r11, 3
cmp rdx, r11
ja 0x41339b
mov byte [rdi], r14b
lea rax, [rdx + 4]
lea rcx, [rdi - 1]
jmp 0x413377
mov byte [rcx], 0
add rax, 4
dec rcx
cmp rax, r11
jbe 0x41336d
xor edx, edx
lea rbx, [r11 + 2]
cmp rbx, rax
jne 0x413391
movzx eax, byte [rcx]
and eax, 0xffffffcc
or edx, eax
mov byte [rcx], dl
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov rax, rdx
mov rcx, rdi
mov rdx, r14
jmp 0x41337e
mov rdx, rax
jmp 0x413357
mov byte [rdi], r14b
shr rax, 4
lea rsi, [rcx - 4]
dec rdi
mov ecx, 4
add rsi, 0xfffffffffffffffc
jmp 0x4133ec
test byte [r14], al
mov r14, 0xffffffffffffffff
mov byte [r14 + rdi], r13b
shr rdx, 4
add rdi, 0xfffffffffffffffe
mov r13, rax
mov rax, rdx
mov rdx, r13
mov r15, rcx
mov rcx, rsi
mov rsi, r15
mov r13, rax
and rax, 0xf
or rax, 0xf0
lea r14, [rcx + 4]
cmp r14, rbx
jae 0x41350e
mov byte [rdi], al
shr r13, 4
cmp rdx, r8
je 0x413470
cmp rsi, 8
jae 0x413461
movzx eax, byte [rdx]
mov r14, rcx
mov rcx, rsi
shl rax, cl
cmp rcx, 0x40
sbb r15, r15
and r15, rax
or r13, r15
lea rax, [rdx + 1]
mov rdx, r13
and r13, 0xf
or r13, 0xf0
lea rsi, [r14 + 8]
lea r14, [rdi - 1]
cmp rsi, rbx
jb 0x4133c4
mov rax, rsi
mov rdi, r14
mov r14, r13
jmp 0x413323
add rsi, 0xfffffffffffffff8
mov r14, rcx
mov rax, rdx
mov rcx, rsi
jmp 0x413434
test rdx, rdx
je 0x4134cb
movzx eax, byte [rdx]
mov rdx, rcx
mov rcx, rsi
shl rax, cl
cmp rcx, 0x40
sbb r14, r14
and r14, rax
or r13, r14
lea rax, [rcx + r9]
cmp rax, 8
jae 0x4134c1
movzx esi, byte [r10]
mov rcx, rax
shl rsi, cl
cmp rax, 0x40
sbb r14, r14
and rsi, r14
or r13, rsi
lea rsi, [r10 + 1]
mov r14, rdx
mov rcx, rax
mov rax, rsi
jmp 0x413434
lea rax, [rcx + r9 - 8]
mov rsi, r10
jmp 0x4134b3
cmp rsi, 8
jae 0x413503
mov rax, rcx
mov rcx, rsi
mov r14, r12
shl r12, cl
cmp rcx, 0x40
sbb r15, r15
and r12, r15
or r12, r13
lea rsi, [rcx + r9]
lea r15, [rsi - 8]
mov rsi, rdx
mov r13, r12
mov rdx, rax
mov r12, r14
mov rax, r15
jmp 0x4134b3
mov rax, rcx
mov r14, r12
mov r12, r13
jmp 0x4134ee
mov rsi, r14
mov r14, rdi
mov r13, rax
jmp 0x413453
cmp eax, 2
jne 0x4136cd
mov rax, r14
and r14, 3
shl r14, 2
or r14, 0x40
movzx esi, byte [rdi]
and esi, 0xffffffb3
or esi, r14d
mov byte [rdi], sil
lea rsi, [rdi - 1]
cmp rbx, 2
ja 0x41355a
mov eax, 6
mov rdi, rsi
xor r14d, r14d
jmp 0x413323
shr rax, 2
lea r13, [rcx - 2]
mov ecx, 2
mov rdi, rsi
mov rsi, r13
jmp 0x4133be
mov rbx, rsi
jmp 0x4132fe
test rsi, rsi
je 0x413760
mov r15, rax
mov rax, r13
mov r13, rdx
xor edx, edx
div rsi
mov rdx, r13
lea r13, [rax - 1]
imul rsi, r13
add rsi, qword [rbx + 8]
shr rsi, 3
mov rax, r15
jmp 0x4132e6
mov r14, r12
jmp 0x4132d5
mov r11, rdx
mov r13, rax
mov rax, rcx
mov rcx, r8
jmp 0x4132b8
lea r14, [r9 + 7]
shr r14, 3
lea r15, [r14 - 1]
mov r9, r8
shr r9, 3
shl r15, 3
sub r9, r15
mov r10, rsi
lea r14, [rsi + r14 - 1]
mov rsi, r8
mov r11, rdx
mov r13, rax
mov rdx, r10
mov r8, r14
xor r12d, r12d
mov rax, rcx
xor ecx, ecx
jmp 0x4132c0
mov r10, rsi
mov r11, rdx
mov r13, rax
mov rdx, r10
xor r12d, r12d
mov r9, r12
mov rax, rcx
mov rsi, r8
mov rcx, r9
xor r8d, r8d
jmp 0x4132c0
mov rax, qword [rbx + 8]
mov rbx, qword [rbx]
mov qword [rsp + 0x18], rbx
mov qword [rsp], rdi
mov dword [rsp + 8], ecx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
lea rax, [rsi + 4]
mov qword [rsp + 0x30], rax
call fcn.00413780
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov rax, qword [rbx]
cmp rax, 8
jne 0x41368e
movzx eax, byte [rdi]
mov edx, 0x13
shl edx, cl
cmp ecx, 0x20
sbb ebx, ebx
and edx, ebx
or eax, edx
mov byte [rdi], al
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
movzx eax, byte [rsi]
and eax, 3
or eax, 0x10
movzx edx, byte [rdi]
mov ebx, 0x33
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
not ebx
and ebx, edx
shl eax, cl
cmp ecx, 0x20
sbb edx, edx
and eax, edx
or eax, ebx
mov byte [rdi], al
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
lea rax, [0x006b4ba6]
mov qword [rsp], rax
mov qword [rsp + 8], 0x21
call fcn.0042b3a0
ud2
mov qword [rsp], rbx
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x40], rcx
call fcn.0042bc80
lea rax, [0x006b10ec]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0042c640
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 8], rax
call fcn.0042c640
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006b7ec1]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2d
call fcn.0042b3a0
ud2
call fcn.00429c30
ud2
call fcn.00429c30
ud2
call fcn.00452950
jmp fcn.00413150