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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x41ce16
sub rsp, 0x28
mov qword [rsp + 0x20], rbp
lea rbp, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
test rax, 7
jne 0x41cdfb
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rdx + 0x50]
mov rcx, qword [rsp + 0x68]
mov rsi, rcx
shr rcx, 3
lea rdi, [rbx + rcx]
mov r8, rsi
and rsi, 7
mov r9, rcx
mov rcx, rsi
mov r10d, 1
shl r10d, cl
movzx esi, byte [0x008b402f]
test sil, sil
je 0x41cc55
test byte [rdi], al
movzx ebx, byte [r9 + rbx]
test bl, r10b
je 0x41cb21
mov rbx, qword [rdx + 0x68]
cmp rbx, 8
jne 0x41caf3
mov rsi, qword [rsp + 0x48]
movzx edi, byte [rsi]
mov ecx, dword [rsp + 0x50]
shr dil, cl
cmp ecx, 8
sbb r8d, r8d
and r8d, edi
test r8b, 1
setne dil
test dil, dil
jne 0x41cae9
mov qword [rsp + 0x10], rbx
mov qword [rsp], rsi
mov dword [rsp + 8], ecx
call fcn.00411370
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x68]
cmp rax, 8
jne 0x41cac6
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
mov ecx, dword [rsp + 0x50]
shr al, cl
cmp ecx, 8
sbb edx, edx
and edx, eax
test dl, 1
setne al
test al, al
je 0x41caab
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
test rcx, rcx
je 0x41caa7
mov rdx, qword [rcx + 0x10]
cmp rdx, 0xfd
jne 0x41ca82
xor ecx, ecx
test cl, cl
je 0x41ca6d
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
mov qword [rsp], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 8], rax
call fcn.0041ef70
jmp 0x41ca63
jae 0x41caa0
mov rbx, qword [rsp + 0x30]
mov qword [rcx + rdx*8 + 0x18], rbx
mov rdx, qword [rcx + 0x10]
inc rdx
mov qword [rcx + 0x10], rdx
mov ecx, 1
jmp 0x41ca5f
call fcn.004293e0
ud2
xor ecx, ecx
jmp 0x41ca5f
lea rax, [0x006db2d4]
mov qword [rsp], rax
mov qword [rsp + 8], 0x29
call fcn.0042aea0
ud2
mov rdx, qword [rsp + 0x48]
movzx edx, byte [rdx]
mov ebx, dword [rsp + 0x50]
lea ecx, [rbx + 1]
shr dl, cl
cmp ecx, 8
sbb ebx, ebx
and ebx, edx
test bl, 0x10
setne al
jmp 0x41ca3f
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
mov rsi, qword [rsp + 0x48]
movzx r8d, byte [rsi]
mov r9d, dword [rsp + 0x50]
lea ecx, [r9 + 1]
shr r8b, cl
cmp ecx, 8
sbb r10d, r10d
and r10d, r8d
test r10b, 0x10
setne dil
mov ecx, r9d
jmp 0x41c9f6
call fcn.0042b850
call fcn.0042b850
lea rax, [0x006decdb]
mov qword [rsp], rax
mov qword [rsp + 8], 0x44
call fcn.0042c220
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006cf2b1]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c220
call fcn.0042b8f0
call fcn.0042b850
lea rax, [0x006d5e4c]
mov qword [rsp], rax
mov qword [rsp + 8], 0x18
call fcn.0042c220
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006cf298]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c220
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006cf2d7]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c220
call fcn.0042b8f0
lea rax, [0x006cf7bd]
mov qword [rsp], rax
mov qword [rsp + 8], 4
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x18], rax
call fcn.0041ce20
lea rax, [0x006cf584]
mov qword [rsp], rax
mov qword [rsp + 8], 3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 0xffffffffffffffff
call fcn.0041ce20
lea rax, [0x006d8567]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1f
call fcn.0042aea0
ud2
mov esi, dword [0x008b444c]
test esi, esi
jle 0x41cc72
mov rsi, qword [rdx + 0x30]
cmp r8, rsi
jae 0x41cde0
xor ecx, ecx
test cl, cl
jne 0x41ccd4
test byte [rdi], al
movzx ebx, byte [r9 + rbx]
test bl, r10b
jne 0x41ccca
lock or byte [rdi], r10b
mov rdx, qword [rdx + 0x68]
cmp rdx, 8
je 0x41ca43
mov rbx, qword [rsp + 0x48]
movzx ebx, byte [rbx]
mov ecx, dword [rsp + 0x50]
shr bl, cl
cmp ecx, 8
sbb esi, esi
and esi, ebx
test sil, 0x10
je 0x41ccb0
jmp 0x41ca43
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x10]
add rcx, rdx
mov qword [rax + 0x10], rcx
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
mov rbp, qword [rsp + 0x20]
add rsp, 0x28
ret
call fcn.0042b850
lea rax, [0x006d7cfb]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1d
call fcn.0042c220
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006d149f]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
call fcn.0042c220
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006cf298]
mov qword [rsp], rax
mov qword [rsp + 8], 1
call fcn.0042c220
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
call fcn.0042c0a0
lea rax, [0x006cf2d7]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c220
call fcn.0042b8f0
lea rax, [0x006cf7bd]
mov qword [rsp], rax
mov qword [rsp + 8], 4
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x18], rax
call fcn.0041ce20
lea rax, [0x006cf584]
mov qword [rsp], rax
mov qword [rsp + 8], 3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 0xffffffffffffffff
call fcn.0041ce20
lea rax, [0x006d3d41]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042aea0
ud2
mov rsi, qword [rdx + 0x48]
lea r8, [rsi + r9]
test byte [r8], al
movzx esi, byte [r9 + rsi]
test r10b, sil
sete cl
jmp 0x41cc6e
lea rax, [0x006d9a18]
mov qword [rsp], rax
mov qword [rsp + 8], 0x23
call fcn.0042aea0
ud2
call fcn.00452210
jmp fcn.0041c940