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

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x52dc1c
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x52da5b
mov qword [rsp + 0x90], rax
mov rax, rcx
nop
call fcn.0052d620
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rdi + 0x30]
cmp dword [0x00918a90], 0
jne 0x52d684
mov qword [rdi + 0x30], 0
jmp 0x52d698
lea rdx, [rdi + 0x30]
mov rax, rdi
mov rdi, rdx
xor esi, esi
call fcn.00465760
mov rdi, rax
mov rdx, qword [rcx]
mov rsi, qword [rcx + 8]
nop
test rdx, rdx
jne 0x52da30
mov rdx, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x10]
mov r8, qword [rcx + 0x40]
mov r9, rdx
sub rdx, r8
mov rax, qword [rcx + 0x38]
sub rdx, rax
test rdx, rdx
jl 0x52dc08
mov qword [rsp + 0x48], rcx
cmp byte [rcx + 0x48], 0
je 0x52da24
nop word [rax + rax]
cmp r8, 1
jne 0x52dbf5
mov r8d, 0xfffffffe
cmp r8, rdx
jl 0x52d9cc
nop dword [rax]
cmp rdx, 0xffffff
jle 0x52d716
mov ebx, 0xffffff84
mov r8d, 5
jmp 0x52d760
cmp rdx, 0xffff
jle 0x52d72c
mov ebx, 0xffffff83
mov r8d, 4
jmp 0x52d760
cmp rdx, 0xff
jle 0x52d742
mov ebx, 0xffffff82
mov r8d, 3
jmp 0x52d760
cmp rdx, 0x7f
jle 0x52d755
mov ebx, 0xffffff81
mov r8d, 2
jmp 0x52d760
mov rbx, rdx
mov r8d, 1
xor edx, edx
cmp r9, rax
jbe 0x52dbed
mov byte [rsi + rax], bl
lea esi, [r8 - 1]
movzx ebx, sil
test rbx, rbx
je 0x52d9c2
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rdx
lea rax, [0x00667c00]
mov rcx, rbx
call fcn.0044a620
mov rdx, qword [rsp + 0x48]
cmp qword [rdx], 0
nop
jne 0x52d934
cmp qword [rdx + 0x30], 0
jne 0x52dbda
mov qword [rsp + 0x58], rax
mov r8, qword [rdx + 0x18]
mov rdi, qword [rsp + 0x30]
add r8, rdi
cmp rdi, r8
jle 0x52d822
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x1b
lea rcx, [0x006c0f8e]
mov qword [rax], rcx
lea rcx, [0x0072e7e0]
mov rdi, qword [rsp + 0x48]
mov qword [rdi], rcx
cmp dword [0x00918a90], 0
jne 0x52d803
mov qword [rdi + 8], rax
jmp 0x52d815
lea rdx, [rdi + 8]
mov rbx, rdi
mov rdi, rdx
call fcn.00465600
mov rdi, rbx
mov rax, qword [rsp + 0x58]
mov rdx, rdi
mov rdi, qword [rsp + 0x30]
cmp byte [rdx + 0x28], 0
je 0x52d890
mov r8, qword [rdx + 0x18]
add r8, rdi
cmp qword [rdx + 0x20], r8
jge 0x52d890
lea rax, [0x0067fd60]
nop dword [rax]
call fcn.0040da20
mov qword [rax + 8], 0x36
lea rcx, [0x006ca9f3]
mov qword [rax], rcx
lea rcx, [0x0072e7e0]
mov rdi, qword [rsp + 0x48]
mov qword [rdi], rcx
cmp dword [0x00918a90], 0
jne 0x52d875
mov qword [rdi + 8], rax
jmp 0x52d888
lea rdx, [rdi + 8]
mov rcx, rdi
mov rdi, rdx
nop
call fcn.00465600
mov rdi, rcx
mov rdx, rdi
jmp 0x52d934
mov r8, qword [rdx + 0x18]
lea rbx, [rdi + r8]
mov rcx, qword [rdx + 0x20]
mov r9, qword [rdx + 0x10]
cmp rcx, rbx
jae 0x52d8cb
mov qword [rsp + 0x40], r8
mov rax, r9
lea rsi, [0x00667c00]
call fcn.0044a700
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov r9, rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rcx
lea rdx, [r9 + r8]
mov rsi, rax
mov rax, rdx
mov rbx, rsi
mov rcx, rdi
call fcn.00466460
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov qword [rdi + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rdi + 0x20], rdx
cmp dword [0x00918a90], 0
jne 0x52d91a
mov rdx, qword [rsp + 0x50]
mov qword [rdi + 0x10], rdx
jmp 0x52d931
lea rdx, [rdi + 0x10]
mov rax, rdi
mov rdi, rdx
mov rsi, qword [rsp + 0x50]
call fcn.00465760
mov rdi, rax
mov rdx, rdi
mov rax, qword [rdx + 0x38]
add rax, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x18]
mov rsi, qword [rdx + 0x10]
mov r8, qword [rdx + 0x20]
mov r9, qword [rsp + 0x30]
lea r10, [rax + r9]
cmp rcx, r10
jb 0x52dbd2
mov r11, rcx
sub rcx, r10
mov r12, r10
sub r10, r8
sar r10, 0x3f
and r12, r10
lea r10, [r12 + rsi]
cmp r11, rax
jb 0x52dbca
sub r11, rax
cmp r11, rcx
cmovl rcx, r11
mov r11, rax
sub rax, r8
sar rax, 0x3f
and r11, rax
lea rbx, [r11 + rsi]
cmp rbx, r10
je 0x52d9af
mov rax, r10
nop dword [rax]
call fcn.00466460
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x30]
mov rcx, rdx
mov rdx, qword [rsp + 0x28]
mov rbx, r9
mov rdi, qword [rsp + 0x90]
inc qword [rcx + 0x38]
mov qword [rcx + 0x40], rbx
jmp 0x52da24
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x1c
lea rcx, [0x006c1b7c]
mov qword [rax], rcx
lea rcx, [0x0072e7e0]
mov rdi, qword [rsp + 0x90]
mov qword [rdi], rcx
cmp dword [0x00918a90], 0
jne 0x52da0b
mov qword [rdi + 8], rax
jmp 0x52da14
add rdi, 8
call fcn.00465600
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rsi, qword [rcx + 0x40]
dec rsi
mov rax, rdx
jmp 0x52da76
mov qword [rdi], rdx
cmp dword [0x00918a90], 0
jne 0x52da42
mov qword [rdi + 8], rsi
jmp 0x52da4b
add rdi, 8
call fcn.00465760
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov byte [r9 + r10], dl
dec rsi
sar rdx, 8
test rsi, rsi
jl 0x52da94
mov r8, qword [rcx + 0x18]
mov r9, qword [rcx + 0x10]
mov r10, qword [rcx + 0x38]
add r10, rsi
cmp r8, r10
ja 0x52da6b
jmp 0x52dbbf
test rdx, rdx
jne 0x52db05
cmp byte [rdi + 0x28], 0
je 0x52dac9
mov rdx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0
jbe 0x52dbb5
mov rsi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0
jbe 0x52dbab
nop dword [rax]
cmp rdx, rsi
jne 0x52db98
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x20]
mov qword [rdi + 0x18], rdx
mov qword [rdi + 0x20], rcx
cmp dword [0x00918a90], 0
jne 0x52daec
mov qword [rdi + 0x10], rax
jmp 0x52daf5
add rdi, 0x10
call fcn.00465600
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
call fcn.0040b000
lea rcx, [0x00667280]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 0x40]
call fcn.0040b000
lea rcx, [0x00667280]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
lea rax, [0x006cc073]
mov ebx, 0x41
lea rcx, [rsp + 0x60]
mov edi, 2
mov rsi, rdi
nop
call fcn.004f0a80
mov rdi, qword [rsp + 0x90]
mov qword [rdi], rax
cmp dword [0x00918a90], 0
jne 0x52db7f
mov qword [rdi + 8], rbx
jmp 0x52db88
add rdi, 8
call fcn.00465740
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
lea rax, [0x00667a40]
lea rbx, [0x0072e540]
call fcn.00436260
xor eax, eax
mov rcx, rax
call fcn.00465aa0
xor eax, eax
mov rcx, rax
call fcn.00465aa0
mov rax, r10
mov rcx, r8
call fcn.00465aa0
mov rcx, r11
call fcn.00465b60
mov rax, r10
call fcn.00465b60
lea rax, [0x00667a40]
lea rbx, [0x0072dac0]
call fcn.00436260
mov rcx, r9
call fcn.00465aa0
lea rax, [0x00667a40]
lea rbx, [0x0072e530]
call fcn.00436260
lea rax, [0x00667a40]
lea rbx, [0x0072e530]
call fcn.00436260
nop
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
jmp fcn.0052d620