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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x18]
cmp rax, qword [rcx + 0x10]
jbe 0x41cd26
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x41c8e3
mov rsi, qword [rdx]
cmp rbx, rsi
je 0x41c6ed
dec rbx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rdx
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov dword [rsp + 0x10], 0
mov qword [rsp + 0x18], rbx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x20], rax
call fcn.00445560
lea rax, [rsp + 0x10]
mov ecx, dword [rsp + 0x28]
cmp ecx, 0xffffffff
jne 0x41c73a
xor ecx, ecx
mov dword [rsp + 0x34], ecx
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rdx + 0x38]
sub rbx, qword [rdx + 0x28]
test rbx, rbx
ja 0x41c824
mov rax, qword [rdx + 0x48]
test rax, rax
jbe 0x41c79a
mov rax, qword [rdx + 0x50]
test rax, rax
je 0x41c7aa
mov rcx, qword [rax + 8]
mov eax, dword [rax]
mov rdx, qword [rdx + 0x40]
mov qword [rsp], rdx
movsxd rax, eax
shl rax, 3
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x18], rax
call fcn.0041d3c0
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
mov dword [rsp + 0x10], 0
call fcn.00445610
mov rax, qword [rsp + 0x18]
test rax, rax
je 0x41ca18
mov ecx, dword [rax]
test ecx, ecx
jle 0x41ca18
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x34]
test edx, edx
jl 0x41c8f3
cmp edx, ecx
jge 0x41c8f3
mov qword [rsp], rax
mov dword [rsp + 8], edx
call fcn.00445920
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0xa0]
jmp 0x41c76f
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
mov dword [rsp + 0x10], 1
call fcn.00445610
mov rax, qword [rsp + 0x18]
test rax, rax
je 0x41cc32
mov ecx, dword [rax]
test ecx, ecx
jle 0x41cc32
mov qword [rsp + 0x78], rax
mov edx, dword [rsp + 0x34]
test edx, edx
jl 0x41cb0d
cmp edx, ecx
jge 0x41cb0d
mov qword [rsp], rax
mov dword [rsp + 8], edx
call fcn.00445920
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x70]
movsxd rcx, dword [rcx]
shl rcx, 3
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rdx + 0x38]
sub rbx, rcx
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x18], rax
call fcn.0041d3c0
mov ecx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0xa0]
jmp 0x41c757
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
call fcn.00444ff0
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0x58], rdx
call fcn.0042bc80
lea rax, [0x006af6fe]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042c640
mov eax, dword [rsp + 0x34]
movsxd rax, eax
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006ab4c6]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0042c640
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006b2b83]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1c
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rax
call fcn.0042c640
lea rax, [0x006ac7df]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0042c640
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006aafda]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
call fcn.0042bd10
lea rax, [0x006b2a75]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1b
call fcn.0042b3a0
ud2
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
call fcn.00444ff0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rdx + 0x40]
mov qword [rsp + 0x50], rbx
mov rdx, qword [rdx + 0x48]
mov qword [rsp + 0x48], rdx
call fcn.0042bc80
lea rax, [0x006ade03]
mov qword [rsp], rax
mov qword [rsp + 8], 0xf
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rax
call fcn.0042c640
lea rax, [0x006ad5b5]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0042c640
mov rax, qword [rsp + 0x50]
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 + 0x48]
mov qword [rsp], rax
call fcn.0042c4d0
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006ae31b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042b3a0
ud2
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
call fcn.00444ff0
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x18]
mov qword [rsp + 0x58], rdx
call fcn.0042bc80
lea rax, [0x006af6fe]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call fcn.0042c640
mov eax, dword [rsp + 0x34]
movsxd rax, eax
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006ab4c6]
mov qword [rsp], rax
mov qword [rsp + 8], 5
call fcn.0042c640
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006b38c7]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1e
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rax
call fcn.0042c640
lea rax, [0x006ac7df]
mov qword [rsp], rax
mov qword [rsp + 8], 0xb
call fcn.0042c640
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.0042c340
lea rax, [0x006aafda]
mov qword [rsp], rax
mov qword [rsp + 8], 2
call fcn.0042c640
call fcn.0042bd10
lea rax, [0x006b2a75]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1b
call fcn.0042b3a0
ud2
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
call fcn.00444ff0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rsp + 0xa0]
mov rdx, qword [rdx + 0x38]
mov qword [rsp + 0x50], rdx
call fcn.0042bc80
lea rax, [0x006ade03]
mov qword [rsp], rax
mov qword [rsp + 8], 0xf
call fcn.0042c640
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rax
call fcn.0042c640
lea rax, [0x006adeab]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042c640
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
sub rax, rcx
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 + 0x40]
mov qword [rsp], rax
call fcn.0042c4d0
call fcn.0042bf30
call fcn.0042bd10
lea rax, [0x006ae31b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.0041c690