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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x48]
cmp rax, qword [rcx + 0x10]
jbe 0x41f85e
sub rsp, 0xc8
mov qword [rsp + 0xc0], rbp
lea rbp, [rsp + 0xc0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rbx, qword [rdx + 0x30]
mov esi, dword [rbx + 0xd0]
test esi, esi
jne 0x41ef65
mov esi, dword [rbx + 0xb8]
test esi, esi
jne 0x41ef65
mov rbx, qword [rbx]
cmp rdx, rbx
jne 0x41f843
mov ebx, dword [0x0083a420]
mov dword [rsp + 0x30], ebx
mov rsi, qword [rsp + 0xd0]
movzx edi, byte [rsi + 0x64]
mov byte [rsp + 0x2b], dil
cmp dil, 1
jne 0x41f79a
mov r8d, dword [rsi + 0x58]
lea r9d, [rbx - 1]
cmp r9d, r8d
jne 0x41f79a
mov dword [rsp + 0x34], r9d
movzx edi, byte [0x00840930]
test dil, dil
jne 0x41f5c2
mov rdi, qword [rsi + 0x20]
lea r8, [0x0083a4c0]
lock xadd qword [r8], rdi
mov rdx, qword [rdx + 0x30]
lea rdi, [rsi + 0x90]
test byte [rdi], al
movzx r8d, byte [rsi + 0x62]
mov byte [rsp + 0x26], r8b
mov r10, qword [rsi + 0x68]
mov qword [rsp + 0x38], r10
mov rdx, qword [rdx + 0x130]
mov qword [rsp + 0x80], rdx
mov r11, qword [rsi + 0x90]
jmp 0x41f001
mov rdi, r11
mov r11, rdx
mov rdx, r14
test r11, r11
je 0x41f150
movzx eax, word [r11 + 8]
test r10, r10
je 0x41f793
mov rcx, rdx
xor edx, edx
div r10
mov rdx, qword [rsi + 0x50]
mov r12, rax
shr rax, 3
lea r13, [rax + rdx]
test byte [r13], al
mov r13, r12
imul r12, r10
and r13, 7
mov r14, rcx
mov rcx, r13
mov r15d, 1
shl r15d, cl
movzx r13d, byte [rax + rdx]
test r13b, r15b
je 0x41f05c
mov rdx, qword [r11]
jmp 0x41eff8
add r12, r10
mov rcx, r11
jmp 0x41f06f
mov r11, qword [r11]
mov r14, qword [rsp + 0x80]
test r11, r11
je 0x41f149
movzx r14d, word [r11 + 8]
cmp r14, r12
jae 0x41f142
movzx r14d, byte [r11 + 0xa]
cmp r14b, 1
jne 0x41f064
or r13d, r15d
mov byte [rax + rdx], r13b
mov eax, 1
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x28], al
jmp 0x41f0ae
mov rdi, rcx
mov rcx, rdx
test rcx, rcx
je 0x41f12f
movzx edx, word [rcx + 8]
cmp rdx, r12
jae 0x41f12f
mov r11, qword [rsi + 0x18]
add rdx, r11
movzx r11d, byte [rcx + 0xa]
cmp r11b, 1
je 0x41f0d7
test al, al
je 0x41f0d7
mov rdx, qword [rcx]
jmp 0x41f0a8
mov qword [rsp + 0x70], rdi
mov rax, qword [rcx]
mov qword [rsp + 0x78], rax
mov qword [rdi], rax
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r10
call fcn.00423d80
movzx eax, byte [rsp + 0x28]
mov ebx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xd0]
movzx r8d, byte [rsp + 0x26]
mov r9d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x38]
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
jmp 0x41f0a8
mov r14, qword [rsp + 0x80]
mov rdx, rcx
mov r11, rdi
jmp 0x41eff8
xor eax, eax
jmp 0x41f09d
xor eax, eax
jmp 0x41f09d
mov eax, dword [0x00850ec0]
test eax, eax
je 0x41f2b8
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0x90], rax
mov byte [rsp + 0x98], 1
mov qword [rsp + 0xa0], 0
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 1
mov qword [rsp + 0xb8], 0
xor eax, eax
jmp 0x41f1ad
inc qword [rsp + 0xb8]
inc rax
mov rcx, qword [rsi + 0x38]
cmp rax, rcx
jae 0x41f2b8
mov rcx, qword [rsp + 0x90]
movzx edi, byte [rsp + 0x98]
movzx ecx, byte [rcx]
test cl, dil
je 0x41f22c
movzx ecx, byte [rsp + 0x98]
cmp cl, 0x80
jne 0x41f221
inc qword [rsp + 0x90]
mov byte [rsp + 0x98], 1
inc qword [rsp + 0xa0]
movzx ecx, byte [rsp + 0xb0]
cmp cl, 0x80
jne 0x41f216
inc qword [rsp + 0xa8]
mov byte [rsp + 0xb0], 1
jmp 0x41f1a2
shl ecx, 1
mov byte [rsp + 0xb0], cl
jmp 0x41f1a2
shl ecx, 1
mov byte [rsp + 0x98], cl
jmp 0x41f1ef
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rsi + 0x30]
cmp rcx, rdi
jae 0x41f29b
mov rcx, qword [rsi + 0x68]
imul rcx, rax
lea rdi, [rsi + 0x18]
add rcx, qword [rdi]
mov edi, dword [0x00850ec0]
test edi, edi
je 0x41f1d2
mov qword [rsp + 0x40], rax
mov qword [rsp], rcx
mov qword [rsp + 8], r10
call fcn.00425440
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x80]
mov ebx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xd0]
movzx r8d, byte [rsp + 0x26]
mov r9d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x38]
jmp 0x41f1d2
mov rcx, qword [rsp + 0xa8]
movzx edi, byte [rsp + 0xb0]
movzx ecx, byte [rcx]
test cl, dil
jne 0x41f23d
jmp 0x41f1d2
mov qword [rsp], rsi
call fcn.004130c0
mov rax, qword [rsp + 8]
movzx ecx, byte [rsp + 0x26]
mov edx, ecx
shr cl, 1
test cl, 0xff
jne 0x41f5b3
test ax, ax
jne 0x41f5a4
mov rbx, qword [rsp + 0xd0]
mov byte [rbx + 0x65], 1
mov esi, 1
movzx edi, word [rbx + 0x60]
mov r8d, edi
sub edi, eax
mov word [rsp + 0x2c], di
cmp ax, r8w
ja 0x41f6b0
mov byte [rsp + 0x2a], cl
mov byte [rsp + 0x29], sil
mov word [rbx + 0x60], ax
mov qword [rsp], rbx
call fcn.00411e00
mov rax, qword [rsp + 8]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rcx + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rcx + 0x30], 0
movzx ebx, byte [0x00840930]
test bl, bl
je 0x41f389
mov rbx, qword gs:[0x28]
mov rbx, qword [rbx]
mov rbx, qword [rbx + 0x30]
mov rbx, qword [rbx + 0xa0]
test byte [rbx], al
movzx esi, word [rsp + 0x2c]
movzx edi, si
mov r8, qword [rcx + 0x68]
imul r8, rdi
add r8, qword [rbx + 0x1230]
mov qword [rbx + 0x1230], r8
mov rax, qword [rcx + 0x50]
mov qword [rcx + 0x48], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp], rax
call fcn.00423ef0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xd0]
mov qword [rcx + 0x50], rax
mov qword [rsp], rcx
mov qword [rsp + 8], 0
call fcn.00411de0
movzx eax, byte [rsp + 0x29]
test al, al
je 0x41f585
mov rcx, qword [rsp + 0xd0]
movzx edx, byte [rcx + 0x64]
mov byte [rsp + 0x2b], dl
cmp dl, 1
jne 0x41f607
mov ebx, dword [rcx + 0x58]
mov esi, dword [rsp + 0x34]
cmp esi, ebx
jne 0x41f607
mov edx, dword [rsp + 0x30]
mov ebx, edx
xchg dword [rcx + 0x58], edx
movzx edx, word [rsp + 0x2c]
test dx, dx
jbe 0x41f57e
movzx esi, byte [rsp + 0x2a]
test sil, 0xff
je 0x41f4f9
mov rax, qword [rsp + 0x80]
test byte [rax], al
movsx rsi, sil
cmp rsi, 0x43
jae 0x41f600
mov rdi, qword [rax + rsi*8 + 0x490]
movzx edx, dx
add rdx, rdi
mov qword [rax + rsi*8 + 0x490], rdx
movzx eax, byte [rsp + 0x26]
movzx eax, al
cmp rax, 0x86
jae 0x41f5f9
shl rax, 6
lea rdx, [0x00839400]
lea rax, [rdx + rax + 0x1350]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x10], al
lea rax, [rsp + 0x11]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
cmp rdx, rbx
sete byte [rax]
call fcn.00414b50
movzx eax, byte [rsp + 0x18]
test al, al
je 0x41f4c0
mov byte [rsp + 0xe0], al
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0x27], al
mov eax, dword [rsp + 0x30]
shr eax, 1
and eax, 1
lea rax, [rax + rax*4]
lea rcx, [0x0083a460]
lea rax, [rcx + rax*8]
mov qword [rsp], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 8], rax
call fcn.0041f9d0
movzx eax, byte [rsp + 0x27]
jmp 0x41f4a9
test al, al
je 0x41f577
mov eax, dword [0x00850ec8]
test eax, eax
jle 0x41f558
mov qword [rcx + 0x80], 0
mov rax, qword [rcx + 0x18]
mov qword [rsp], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 8], rax
call fcn.004152d0
mov rax, qword [rsp + 0x80]
inc qword [rax + 0x488]
mov rcx, qword [rax + 0x480]
mov rdx, qword [rsp + 0x38]
add rcx, rdx
mov qword [rax + 0x480], rcx
mov eax, 1
jmp 0x41f4a5
lea rax, [0x00839400]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov dword [rsp + 0x10], 1
call fcn.00422450
jmp 0x41f529
xor eax, eax
jmp 0x41f4a5
test al, al
jmp 0x41f4fb
movzx ecx, word [rsp + 0x2c]
test cx, cx
je 0x41f3ce
mov rcx, qword [rsp + 0xd0]
mov ebx, dword [rsp + 0x30]
jmp 0x41f3ff
mov rbx, qword [rsp + 0xd0]
xor esi, esi
jmp 0x41f2f2
mov rbx, qword [rsp + 0xd0]
xor esi, esi
jmp 0x41f2f2
mov qword [rsp + 0x88], rdx
mov rax, qword [rsi + 0x20]
shl rax, 0xd
mov qword [rsp], rax
call fcn.00448680
mov rdx, qword [rsp + 0x88]
mov ebx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0xd0]
mov r9d, dword [rsp + 0x34]
jmp 0x41efb0
call fcn.00429b50
ud2
call fcn.00429b50
ud2
mov eax, dword [rcx + 0x58]
mov qword [rsp + 0x58], rax
call fcn.0042bc80
lea rax, [0x006af251]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042c640
movzx eax, byte [rsp + 0x2b]
movzx eax, al
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ac45a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0042c640
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ade8b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042c640
mov eax, dword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0042c340
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006b6675]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
call fcn.0042b3a0
ud2
mov qword [rsp + 0x50], rax
mov word [rsp + 0x2e], r8w
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x68], rax
call fcn.0042bc80
lea rax, [0x006ae3eb]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006abd16]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0042c640
mov rax, qword [rsp + 0x50]
movzx eax, ax
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006afe72]
mov qword [rsp], rax
mov qword [rsp + 8], 0x15
call fcn.0042c640
movzx eax, word [rsp + 0x2e]
movzx eax, ax
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006abd26]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call fcn.0042c640
movzx eax, word [rsp + 0x2c]
movzx eax, ax
mov qword [rsp], rax
call fcn.0042c340
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006b489b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x20
call fcn.0042b3a0
ud2
call fcn.00429c30
ud2
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x58], rax
call fcn.0042bc80
lea rax, [0x006af251]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042c640
movzx eax, byte [rsp + 0x2b]
movzx eax, al
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ac45a]
mov qword [rsp], rax
mov qword [rsp + 8], 0xa
call fcn.0042c640
mov rax, qword [rsp + 0x58]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006ade8b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042c640
mov eax, dword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0042c340
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006b268e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1b
call fcn.0042b3a0
ud2
lea rax, [0x006b2cd3]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.0041eee0