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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x41266a
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov rax, qword [0x0083a728]
mov rdx, qword [rsp + 0x58]
cmp rdx, rax
jae 0x412258
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov rbx, qword [0x0083a730]
cmp rdx, rbx
jae 0x412219
mov rbx, rdx
sub rdx, rax
shr rdx, 0xd
mov rsi, qword [0x0083a450]
mov rdi, qword [0x0083a448]
cmp rdx, rsi
jae 0x412663
mov rsi, qword [rdi + rdx*8]
test rsi, rsi
je 0x41229e
mov rdi, qword [rsi + 0x18]
cmp rbx, rdi
jae 0x412544
test rsi, rsi
je 0x4122a8
movzx eax, byte [rsi + 0x64]
cmp al, 2
jne 0x4122e3
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 0
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov eax, dword [0x00850ee4]
test eax, eax
jne 0x412328
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 0
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rdx
call fcn.0042bc80
call fcn.0042bc80
lea rax, [0x006ae977]
mov qword [rsp], rax
mov qword [rsp + 8], 0x11
call fcn.0042c640
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
call fcn.0042c4d0
call fcn.0042bd10
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x64]
cmp cl, 1
je 0x41251c
call fcn.0042bc80
lea rax, [0x006af844]
mov qword [rsp], rax
mov qword [rsp + 8], 0x14
call fcn.0042c640
call fcn.0042bd10
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rax + 0x64]
mov qword [rsp + 0x30], rcx
mov rdx, qword [rax + 0x80]
mov qword [rsp + 0x28], rdx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x20], rax
call fcn.0042bc80
lea rax, [0x006ab4df]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0042c640
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0042c4d0
lea rax, [0x006ad11c]
mov qword [rsp], rax
mov qword [rsp + 8], 0xd
call fcn.0042c640
mov rax, qword [rsp + 0x20]
mov qword [rsp], rax
call fcn.0042c4d0
lea rax, [0x006acc62]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
call fcn.0042c640
mov rax, qword [rsp + 0x28]
mov qword [rsp], rax
call fcn.0042c4d0
lea rax, [0x006acc6e]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
call fcn.0042c640
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0042c340
call fcn.0042bf30
call fcn.0042bd10
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x41262d
call fcn.0042bc80
lea rax, [0x006b3d3b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.0042c640
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
call fcn.0042c4d0
lea rax, [0x006aaf98]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
call fcn.0042c4d0
lea rax, [0x006aafda]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
call fcn.0042bd10
lea rax, [0x006ab910]
mov qword [rsp], rax
mov qword [rsp + 8], 6
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x18], rax
call fcn.0041ded0
jmp 0x41262d
call fcn.0042bc80
lea rax, [0x006b1814]
mov qword [rsp], rax
mov qword [rsp + 8], 0x19
call fcn.0042c640
call fcn.0042bd10
jmp 0x41239d
mov r8, qword [rsi + 0x80]
cmp rbx, r8
jb 0x412558
test rsi, rsi
jmp 0x41229e
movzx r8d, byte [rsi + 0x64]
cmp r8b, 1
je 0x41256b
test rsi, rsi
jmp 0x41229e
movzx edx, word [rsi + 0x5e]
test dx, dx
je 0x4125de
sub rbx, rdi
movzx edx, dx
and rdx, rbx
lea rbx, [rdx + rdi]
movzx ecx, byte [rsi + 0x66]
shr rdx, cl
cmp cl, 0x40
sbb rdi, rdi
and rdx, rdi
mov rcx, rbx
sub rbx, rax
mov rax, qword [0x0083a718]
mov rdi, rbx
shr rbx, 5
sub rax, rbx
dec rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
shr rdi, 3
and rdi, 3
mov dword [rsp + 0x80], edi
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rdx
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
sub rbx, rdi
mov rdx, qword [rsi + 0x68]
cmp rbx, rdx
jb 0x412625
movzx ecx, byte [rsi + 0x66]
shr rbx, cl
cmp cl, 0x40
sbb r8, r8
and rbx, r8
movzx r8d, word [rsi + 0x5c]
imul r8, rbx
movzx ecx, byte [rsi + 0x67]
shr r8, cl
cmp cl, 0x40
sbb rbx, rbx
and r8, rbx
imul rdx, r8
add rdx, rdi
mov rbx, rdx
mov rdx, r8
jmp 0x412591
mov rdx, rdi
xor r8d, r8d
jmp 0x41261a
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov byte [rax + 0xf9], 2
lea rax, [0x006ba943]
mov qword [rsp], rax
mov qword [rsp + 8], 0x3e
call fcn.0042b3a0
ud2
call fcn.00429b50
ud2
call fcn.00452950
jmp fcn.004121e0