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

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x9898d8
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], r8
mov byte [rsp + 0x118], r9b
test r9b, r9b
je 0x9895e6
nop dword [rax + rax]
cmp r9b, 1
je 0x9895d1
mov qword [rsp + 0x120], r10
mov rbx, qword [r10 + 8]
mov rdx, qword [rsp + 0x100]
mov qword [rsp + 0xa0], rdx
mov rsi, qword [rsp + 0x108]
mov qword [rsp + 0x68], rsi
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x70], r8
lea rax, [0x00f303e0]
lea rcx, [0x01088d95]
mov edi, 4
call fcn.004183c0
test bl, bl
je 0x989573
mov rdx, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
xor ecx, ecx
jmp 0x989607
movups xmmword [rsp + 0xa8], xmm15
lea rdx, [0x00ed78a0]
mov qword [rsp + 0xa8], rdx
lea rdx, [0x0179be20]
mov qword [rsp + 0xb0], rdx
lea rax, [0x010bd9f7]
mov ebx, 0x23
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.0050a5c0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
add rsp, 0xc0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rax
add rsp, 0xc0
pop rbp
ret
mov rdi, qword [0x01f80620]
mov rsi, qword [0x01f80628]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xc0
pop rbp
ret
inc rcx
cmp rcx, r12
jge 0x989622
lea r13, [rcx + rcx*2]
lea r13, [rdx + r13*8]
lea r13, [r13 + 0x10]
cmp byte [r13], 1
jne 0x989604
cmp rcx, r12
setl dl
mov r12, qword [rax]
mov ebx, dword [r12 + 0x40]
mov eax, edx
mov rcx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x120]
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xe0]
call fcn.00913dc0
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x88], rdx
xor esi, esi
jmp 0x989683
inc rsi
mov rcx, r12
mov rax, rdi
cmp rsi, rdx
jge 0x989892
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rbx
lea r8, [rbx + 4]
nop
nop
nop dword [rax]
cmp rcx, r8
jae 0x9896ce
mov rbx, r8
mov edi, 4
lea rsi, [0x00ed7920]
call fcn.00457860
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x50]
mov r8, rbx
mov rbx, qword [rsp + 0x58]
mov dword [r8 + rax - 4], 0
nop word [rax + rax]
cmp r8, rbx
jb 0x9898cc
mov r9, r8
sub r8, rbx
mov r10, rbx
sub rbx, rcx
sar rbx, 0x3f
and rbx, r10
nop dword [rax]
cmp r8, 3
jbe 0x9898bf
mov dword [rax + rbx], 0xffffffff
mov r8, qword [rsp + 0xf0]
nop dword [rax]
cmp rsi, r8
jae 0x9898b4
mov r8, qword [rsp + 0xe8]
lea r11, [rsi + rsi*2]
lea r12, [r8 + r11*8]
movzx r12d, byte [r12 + 0x10]
mov rdi, qword [r8 + r11*8 + 8]
mov rbx, qword [r8 + r11*8]
test r12b, r12b
jne 0x989767
mov r8, qword [0x01f80620]
mov r11, qword [0x01f80628]
xor ebx, ebx
xor edi, edi
xor r12d, r12d
jmp 0x989831
cmp r12b, 1
jne 0x98977f
xor r8d, r8d
xor ebx, ebx
xor edi, edi
xor r12d, r12d
xor r11d, r11d
jmp 0x989831
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x60], rcx
lea r8, [r9 + rdi]
cmp rcx, r8
jae 0x9897d1
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xb8], rbx
mov rbx, r8
lea rsi, [0x00ed7920]
call fcn.00457860
mov rdi, qword [rsp + 0x78]
mov r9, qword [rsp + 0x80]
mov r8, rbx
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x90], rax
lea rdx, [rax + r9]
mov rax, rdx
mov rcx, rdi
call fcn.0047a8a0
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0x58]
xor r8d, r8d
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x48]
xor r11d, r11d
test r8, r8
jne 0x98987c
test rdi, rdi
je 0x98986e
nop dword [rax + rax]
cmp rbx, r10
jb 0x9898a9
mov rcx, rbx
sub rcx, r10
mov r8, r10
sub r10, r12
sar r10, 0x3f
and r10, r8
cmp rcx, 3
jbe 0x98989f
lea r9, [rcx - 4]
bswap r9d
mov dword [rdi + r10], r9d
jmp 0x98967a
mov r12, rcx
mov rbx, r9
mov rdi, rax
jmp 0x98967a
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r11
add rsp, 0xc0
pop rbp
ret
xor edi, edi
xor esi, esi
add rsp, 0xc0
pop rbp
ret
mov eax, 3
call fcn.00479ec0
mov rax, r10
mov rcx, rbx
call fcn.00479f80
mov rax, rsi
mov rcx, r8
call fcn.00479ec0
mov eax, 3
mov rcx, r8
call fcn.00479ec0
mov rax, rbx
mov rcx, r8
call fcn.00479f80
nop
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r8
mov byte [rsp + 0x50], r9b
mov qword [rsp + 0x58], r10
call fcn.00477be0
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x50]
mov r10, qword [rsp + 0x58]
jmp fcn.009894a0