Function at 0x474d80
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 0x475846
sub rsp, 0xc8
mov qword [rsp + 0xc0], rbp
lea rbp, [rsp + 0xc0]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
cmp rax, rcx
je 0x4757c7
nop
movzx edx, byte [rax + 0x17]
and edx, 0x1f
movzx ebx, byte [rcx + 0x17]
and ebx, 0x1f
nop
cmp rdx, rbx
jne 0x4757af
lea rbx, [rdx - 1]
cmp rbx, 0xf
jbe 0x475797
nop word [rax + rax]
cmp rdx, 0x18
je 0x475797
cmp rdx, 0x1a
je 0x475797
cmp rdx, 0x13
ja 0x475220
nop
cmp rdx, 0x11
je 0x475189
cmp rdx, 0x12
je 0x475029
cmp rdx, 0x13
jne 0x475011
movzx edx, word [rcx + 0x32]
cmp word [rax + 0x32], dx
jne 0x474ff9
movzx edx, word [rcx + 0x30]
cmp word [rax + 0x30], dx
jne 0x474ff9
xor edx, edx
jmp 0x474e77
mov rbx, qword [rsp + 0x30]
lea rdx, [rbx + 1]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
movzx ebx, byte [rax + 0x17]
and ebx, 0x1f
nop
cmp rbx, 0x13
jne 0x4757ea
movzx ebx, word [rax + 0x30]
cmp rbx, rdx
jle 0x474f21
mov qword [rsp + 0x30], rdx
mov qword [rsp], rax
mov qword [rsp + 8], rdx
call fcn.00473c80
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 8], rbx
call fcn.00473c80
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
cmp byte [rsp + 0x28], 0
jne 0x474e5e
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
nop
ret
xor edx, edx
jmp 0x474f36
mov rcx, qword [rsp + 0x38]
lea rdx, [rcx + 1]
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x38], rdx
mov qword [rsp], rax
nop
call fcn.00473e80
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 8], rax
jle 0x474fe1
mov rcx, qword [rsp + 0xd0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00473f20
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 8], rbx
call fcn.00473f20
mov rax, qword [rsp + 0x78]
mov qword [rsp], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
cmp byte [rsp + 0x28], 0
jne 0x474f25
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
cmp qword [rcx + 0x38], 3
je 0x4750ef
movzx edx, byte [rcx + 0x17]
and edx, 0x1f
nop dword [rax + rax]
cmp rdx, 0x12
jne 0x475825
mov rdx, qword [rcx + 0x38]
movzx ebx, byte [rax + 0x17]
and ebx, 0x1f
cmp rbx, 0x12
jne 0x475806
nop
cmp qword [rax + 0x38], rdx
je 0x47507f
xor eax, eax
mov byte [rsp + 0xe8], al
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov qword [rsp], rax
call fcn.00473b20
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call fcn.00473b20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
movzx eax, byte [rsp + 0x28]
jmp 0x475068
mov qword [rsp], rax
call fcn.00473b20
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call fcn.00473b20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
cmp byte [rsp + 0x28], 0
jne 0x475171
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
jmp 0x475034
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rdx, qword [rcx + 0x40]
cmp qword [rax + 0x40], rdx
je 0x4751ac
xor eax, eax
mov byte [rsp + 0xe8], al
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov qword [rsp], rax
call fcn.00473b20
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call fcn.00473b20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
movzx eax, byte [rsp + 0x28]
jmp 0x475195
cmp rdx, 0x15
jbe 0x475659
cmp rdx, 0x17
jbe 0x4755d4
cmp rdx, 0x19
jne 0x475011
mov rdx, qword [rax + 0x40]
cmp qword [rcx + 0x40], rdx
jne 0x4755bc
mov rdx, qword [rax + 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
nop dword [rax + rax]
test rdx, rdx
je 0x475281
lea rbx, [rdx + 3]
mov qword [rsp + 0xb0], rbx
movzx edx, word [rdx + 1]
rol dx, 8
mov qword [rsp + 0xb8], rdx
mov rdx, qword [rcx + 0x30]
movups xmmword [rsp + 0x90], xmm0
test rdx, rdx
je 0x4752ae
lea rbx, [rdx + 3]
mov qword [rsp + 0x90], rbx
movzx edx, word [rdx + 1]
rol dx, 8
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb0]
cmp qword [rsp + 0x98], rdx
jne 0x4755a4
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
call fcn.00402a40
cmp byte [rsp + 0x18], 0
je 0x4755a4
mov rdx, qword [rsp + 0xd0]
mov rbx, qword [rdx + 0x40]
mov qword [rsp + 0x58], rbx
mov rsi, qword [rsp + 0xd8]
xor eax, eax
jmp 0x475330
mov rdi, qword [rsp + 0x40]
lea rax, [rdi + 1]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
mov rdx, rdi
cmp rbx, rax
jle 0x47558c
mov rdi, qword [rdx + 0x38]
mov rcx, qword [rdx + 0x40]
cmp rcx, rax
jbe 0x4757e5
lea r8, [rax + rax*2]
mov r9, qword [rsi + 0x38]
mov rcx, qword [rsi + 0x40]
cmp rcx, rax
jbe 0x4757e0
mov rcx, qword [rdi + r8*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
test rcx, rcx
je 0x47538f
lea r10, [rcx + 3]
mov qword [rsp + 0x80], r10
movzx ecx, word [rcx + 1]
rol cx, 8
mov qword [rsp + 0x88], rcx
mov rcx, qword [r9 + r8*8]
movups xmmword [rsp + 0xa0], xmm0
nop dword [rax + rax]
test rcx, rcx
je 0x4753c1
lea r10, [rcx + 3]
mov qword [rsp + 0xa0], r10
movzx ecx, word [rcx + 1]
rol cx, 8
mov qword [rsp + 0xa8], rcx
mov rcx, qword [rsp + 0x88]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x80]
nop dword [rax]
cmp qword [rsp + 0xa8], rcx
jne 0x475574
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rax
mov qword [rsp], r11
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rcx
call fcn.00402a40
cmp byte [rsp + 0x18], 0
nop word [rax + rax]
je 0x475574
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + rax*8 + 8]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rbx + rax*8 + 8]
lea rdi, [0x006a91a8]
mov qword [rsp], rdi
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rsi
movzx edx, byte [rsp + 0xe0]
mov byte [rsp + 0x20], dl
call fcn.00474bc0
cmp byte [rsp + 0x28], 0
je 0x47555c
movzx edx, byte [rsp + 0xe0]
nop dword [rax]
test dl, dl
jne 0x4754c1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
mov rsi, qword [rsi + rbx*8 + 0x10]
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rdi + rbx*8 + 0x10]
nop dword [rax]
cmp rsi, rbx
je 0x47530f
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + rax*8]
mov qword [rsp], rdx
call fcn.00473400
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rbx + rdx*8]
mov qword [rsp], rsi
nop
call fcn.00473400
mov rax, qword [rsp + 0x48]
cmp qword [rsp + 0x10], rax
je 0x47553f
mov eax, 1
test al, al
jne 0x475527
movzx edx, byte [rsp + 0xe0]
jmp 0x475484
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rcx, qword [rsp + 0x78]
mov qword [rsp], rcx
mov qword [rsp + 0x10], rax
call fcn.00402a40
movzx eax, byte [rsp + 0x18]
xor eax, 1
jmp 0x475516
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov qword [rsp], rax
call fcn.00473b20
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
nop dword [rax]
call fcn.00473b20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
movzx eax, byte [rsp + 0x28]
mov byte [rsp + 0xe8], al
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
cmp rdx, 0x14
jne 0x47569d
cmp qword [rax + 0x40], 0
jne 0x47566d
cmp qword [rcx + 0x40], 0
je 0x475685
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x47578e
lea rbx, [0x006a91a8]
mov rsi, qword [rcx + 0x30]
test rsi, rsi
je 0x475785
lea rdi, [0x006a91a8]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rsi
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
cmp byte [rsp + 0x28], 0
jne 0x475709
xor eax, eax
mov byte [rsp + 0xe8], al
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rax, qword [rsp + 0xd0]
mov qword [rsp], rax
call fcn.00473b20
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call fcn.00473b20
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0x20], al
call fcn.00474bc0
movzx eax, byte [rsp + 0x28]
nop dword [rax]
jmp 0x4756f2
xor edi, edi
xor esi, esi
jmp 0x4756c5
xor ebx, ebx
xor edx, edx
jmp 0x4756b1
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 0
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov byte [rsp + 0xe8], 1
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
call fcn.0046cdc0
call fcn.0046cdc0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1470]
mov qword [rsp + 8], rax
call fcn.00438920
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1420]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00438920
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1420]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.00474d80