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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x110]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x47d786
sub rsp, 0x190
mov qword [rsp + 0x188], rbp
lea rbp, [rsp + 0x188]
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x20
jne 0x47d747
movsd xmm0, qword [rsp + 0x1b0]
cvtsd2ss xmm0, xmm0
movd eax, xmm0
lea rcx, [0x007a3950]
mov rdx, qword [rcx]
mov rbx, qword [rcx + 8]
lea rsi, [rbx + rdx]
cmp rsi, 0x40
sbb rdi, rdi
cmp rbx, 0x40
sbb r8, r8
cmp rdx, 0x40
sbb r9, r9
mov r10, rcx
mov rcx, rsi
mov r11, rax
shr rax, cl
mov rcx, rdx
mov rsi, r11
shr r11, cl
and r11, r9
mov rcx, rbx
mov r12d, 1
shl r12, cl
and r12, r8
lea rbx, [r12 - 1]
and r11, rbx
mov rcx, rdx
mov r8d, 1
shl r8, cl
and r8, r9
lea rdx, [r8 - 1]
and rdx, rsi
test rdi, rax
cmp rbx, r11
jne 0x47d056
nop dword [rax]
test rdx, rdx
je 0x47d02c
mov eax, 3
lea rcx, [0x0065a457]
mov rdx, qword [rsp + 0x1a0]
lea rbx, [rdx + rax]
mov qword [rsp + 0xa0], rbx
mov rsi, qword [rsp + 0x1a8]
cmp rbx, rsi
ja 0x47cfc5
mov rdi, qword [rsp + 0x198]
mov qword [rsp + 0x150], rdi
mov qword [rsp + 0x98], rsi
add rdx, rdi
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
nop
call fcn.0046d6c0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x1e0], rax
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x140], rcx
lea rax, [0x00614000]
mov qword [rsp], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
nop dword [rax]
call fcn.0044ddc0
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x1a0]
jmp 0x47cf5e
test rdi, rax
je 0x47d045
mov eax, 4
lea rcx, [0x0065a527]
nop dword [rax]
jmp 0x47cf35
mov eax, 4
lea rcx, [0x0065a523]
jmp 0x47cf35
test r11, r11
jne 0x47d73c
inc r11
test rdi, rax
setne al
add r11, qword [r10 + 0x10]
movzx ecx, byte [rsp + 0x1b8]
cmp cl, 0x62
je 0x47d6c2
nop dword [rax]
cmp cl, 0x78
jne 0x47d10f
mov rbx, qword [rsp + 0x198]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rbx
mov rbx, qword [rsp + 0x1c0]
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x20], cl
mov byte [rsp + 0x21], al
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
call fcn.0047f300
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
cmp cl, 0x58
je 0x47d089
cmp byte [0x007a3169], 0
nop
je 0x47d63c
mov qword [rsp + 0x148], r10
mov byte [rsp + 0x7f], al
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x88], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x178], xmm0
mov rbx, qword [rsp + 0x1c0]
test rbx, rbx
jl 0x47d3ed
cmp cl, 0x66
je 0x47d3e3
nop word [rax + rax]
cmp cl, 0x47
ja 0x47d3d0
cmp cl, 0x45
jne 0x47d3a5
lea rsi, [rbx + 1]
mov rdi, rbx
nop dword [rax]
cmp rsi, 0xf
jle 0x47d2d1
xor esi, esi
test sil, sil
je 0x47d253
mov rdx, qword [rsp + 0x198]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x1a0]
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rdx
test rdi, rdi
setl byte [rsp + 0x18]
mov byte [rsp + 0x19], al
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x168]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rsp + 0x178]
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x58], cl
call fcn.0047dbe0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
mov rsi, qword [rsp + 0x198]
mov qword [rsp], rsi
mov rsi, qword [rsp + 0x1a0]
mov qword [rsp + 8], rsi
mov rsi, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x20], cl
mov byte [rsp + 0x21], al
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
call fcn.0047d7a0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xf0], 0
movups xmmword [rsp + 0xf8], xmm0
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], 0x18
mov qword [rsp + 0x168], 0x18
movups xmmword [rsp + 0xd8], xmm0
mov byte [rsp + 0xe8], 0
mov qword [rsp + 0xd8], rdx
mov rcx, qword [r10]
sub r11, rcx
mov qword [rsp + 0xe0], r11
mov byte [rsp + 0xe8], al
lea rcx, [rsp + 0xd8]
mov qword [rsp], rcx
lea rcx, [rsp + 0x158]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rsi
call fcn.0047c0e0
movzx esi, byte [rsp + 0x18]
movzx eax, byte [rsp + 0x7f]
movzx ecx, byte [rsp + 0x1b8]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0x90]
nop
jmp 0x47d1ac
cmp cl, 0x47
jne 0x47d3c5
test rbx, rbx
mov r8d, 1
mov rsi, rbx
cmove rsi, r8
mov rdi, rbx
mov rbx, rsi
jmp 0x47d1a0
mov rdi, rbx
mov rsi, rdi
jmp 0x47d1a0
cmp cl, 0x65
je 0x47d192
cmp cl, 0x67
jne 0x47d3c5
test rbx, rbx
jmp 0x47d3ad
mov rdi, rbx
xor esi, esi
jmp 0x47d1ac
movups xmmword [rsp + 0x108], xmm0
mov byte [rsp + 0x118], 0
lea rcx, [rsp + 0x108]
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], r11
mov byte [rsp + 0x18], al
mov qword [rsp + 0x20], r10
nop dword [rax]
call fcn.0047bde0
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
movzx ebx, byte [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x50]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rdx
mov byte [rsp + 0xd0], bl
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rsi
mov byte [rsp + 0xb8], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x130], xmm0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 0x20
mov qword [rsp + 0x168], 0x20
lea rax, [rsp + 0x108]
mov qword [rsp], rax
lea rax, [rsp + 0x158]
mov qword [rsp + 8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x18], rax
call fcn.0047c680
movzx eax, byte [rsp + 0x20]
test al, al
je 0x47d591
movzx ecx, byte [rsp + 0x1b8]
cmp cl, 0x47
ja 0x47d562
nop
cmp cl, 0x45
jne 0x47d548
mov rdx, qword [rsp + 0x170]
dec rdx
test rdx, rdx
mov ebx, 0
cmovg rbx, rdx
mov rdx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x148]
mov r11, qword [rsp + 0x90]
mov esi, eax
movzx eax, byte [rsp + 0x7f]
jmp 0x47d1ac
cmp cl, 0x47
jne 0x47d557
mov rbx, qword [rsp + 0x170]
jmp 0x47d51c
mov rbx, qword [rsp + 0x1c0]
nop
jmp 0x47d51c
cmp cl, 0x65
je 0x47d505
cmp cl, 0x66
jne 0x47d58a
mov rdx, qword [rsp + 0x170]
sub rdx, qword [rsp + 0x178]
test rdx, rdx
mov ebx, 0
cmovg rbx, rdx
jmp 0x47d51c
cmp cl, 0x67
je 0x47d54d
jmp 0x47d557
mov rax, qword [rsp + 0x198]
mov qword [rsp], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x18], rax
movzx eax, byte [rsp + 0x1b8]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x7f]
mov byte [rsp + 0x21], al
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x38], rax
call fcn.0047d7a0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
mov rbx, qword [rsp + 0x198]
mov qword [rsp], rbx
mov rbx, qword [rsp + 0x1a0]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rbx
mov rbx, qword [rsp + 0x1c0]
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x20], cl
mov byte [rsp + 0x21], al
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
call fcn.0047d7a0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
mov rcx, qword [rsp + 0x198]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x1a0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x1a8]
mov qword [rsp + 0x10], rcx
mov byte [rsp + 0x18], al
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], r10
nop dword [rax + rax]
call fcn.0047f0a0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1e0], rdx
mov rbp, qword [rsp + 0x188]
add rsp, 0x190
ret
or rdx, r8
test rdi, rax
jmp 0x47d065
cmp rax, 0x40
jne 0x47d765
nop
mov rax, qword [rsp + 0x1b0]
lea rcx, [0x007a3970]
nop dword [rax]
jmp 0x47ceab
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a19d0]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.00438920
nop
call fcn.0046abe0
jmp fcn.0047ce40