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

Disassembly:
lea r12, [rsp - 0x8b0]
cmp r12, qword [r14 + 0x10]
jbe 0x5510ec
sub rsp, 0x930
mov qword [rsp + 0x928], rbp
lea rbp, [rsp + 0x928]
mov byte [rsp + 0xbc8], r9b
mov qword [rsp + 0x3a8], rax
mov qword [rsp + 0xba8], rcx
mov qword [rsp + 0xbb8], rsi
mov qword [rsp + 0xbb0], rdi
mov qword [rsp + 0x2d8], r8
mov qword [rsp + 0xba0], rbx
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov qword [rsp + 0xb88], 0
mov qword [rsp + 0xb8e], 0
movups xmmword [rsp + 0x3b0], xmm15
mov word [rsp + 0xa3a], 1
mov r11, qword [rsp + 0x938]
mov qword [rsp], r11
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466060
mov rbp, qword [rbp]
mov eax, r10d
call fcn.0054f440
nop dword [rax + rax]
test r10, r10
jne 0x5506a5
movzx edx, byte [rsp + 0xbc8]
test dl, dl
je 0x550608
movups xmmword [rsp + 0x3c0], xmm15
lea rdx, [0x006b88aa]
mov qword [rsp + 0x3c0], rdx
mov qword [rsp + 0x3c8], 3
mov edx, 1
lea r10, [rsp + 0x3c0]
jmp 0x55065d
movups xmmword [rsp + 0x3e8], xmm15
movups xmmword [rsp + 0x3f8], xmm15
lea rdx, [0x006b88ad]
mov qword [rsp + 0x3e8], rdx
mov qword [rsp + 0x3f0], 3
lea rdx, [0x006b88aa]
mov qword [rsp + 0x3f8], rdx
mov qword [rsp + 0x400], 3
mov edx, 2
lea r10, [rsp + 0x3e8]
mov word [rsp + 0x296], ax
mov qword [rsp + 0x2b8], rdx
mov qword [rsp + 0x2b0], r9
mov qword [rsp + 0x2a8], r8
mov qword [rsp + 0x368], rsi
mov qword [rsp + 0x2a0], rdi
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x360], rbx
xor r11d, r11d
jmp 0x550785
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov qword [rsp + 0xb88], 0
mov qword [rsp + 0xb8e], 0
mov rax, qword [0x008b6140]
mov rcx, qword [0x008b6148]
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov r10, qword [rsp + 0x3a0]
add r10, 0x10
mov r11, qword [rsp + 0x2d0]
inc r11
movzx eax, word [rsp + 0x296]
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x2b8]
mov rbx, qword [rsp + 0x360]
mov rsi, qword [rsp + 0x368]
mov rdi, qword [rsp + 0x2a0]
mov r8, qword [rsp + 0x2a8]
mov r9, qword [rsp + 0x2b0]
cmp r11, rdx
jge 0x55104d
mov qword [rsp + 0x2d0], r11
mov qword [rsp + 0x3a0], r10
mov rax, qword [r10]
mov qword [rsp + 0x370], rax
mov rcx, qword [r10 + 8]
mov qword [rsp + 0x2c0], rcx
call fcn.00486420
mov rdi, qword [rsp + 0x2d8]
call fcn.00485b60
mov rdi, rbx
mov rsi, rcx
mov rbx, qword [rsp + 0xba8]
mov rcx, rax
mov rax, qword [rsp + 0xba0]
call fcn.00542340
mov qword [rsp + 0x398], rax
mov qword [rsp + 0x380], rbx
mov rax, rcx
call fcn.00434fe0
nop dword [rax]
test eax, eax
jne 0x551028
mov rax, qword [rsp + 0x3a8]
mov rbx, qword [rsp + 0x398]
mov rcx, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x370]
mov rsi, qword [rsp + 0x2c0]
mov r8, qword [rsp + 0xbb0]
mov r9, qword [rsp + 0xbb8]
call fcn.0055f4e0
test rcx, rcx
jne 0x550f88
mov qword [rsp + 0x388], rbx
mov qword [rsp + 0x390], rax
mov rcx, qword [rsp + 0x398]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x380]
call rcx
test dil, dil
je 0x5508fb
mov qword [rsp + 0x3d0], rax
mov qword [rsp + 0x3d8], rbx
mov qword [rsp + 0x3e0], rcx
mov rdx, qword [rsp + 0x3d0]
bt rdx, 0x3f
jae 0x5508bd
mov rsi, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r8, 0xdd7b17f80
add rdx, r8
jmp 0x5508cd
mov rsi, rdx
movabs r8, 0xdd7b17f80
mov rdx, rbx
test rdx, rdx
jne 0x5508dc
and esi, 0x3fffffff
test esi, esi
je 0x5508fb
mov rdx, qword [rsp + 0x390]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x388]
call rsi
movups xmmword [rsp + 0x408], xmm15
lea rdi, [rsp + 0x410]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov qword [rsp + 0x2e2], 0
mov qword [rsp + 0x2e8], 0
lea rax, [0x0068c0a0]
mov rbx, qword [rsp + 0x390]
mov rcx, qword [rsp + 0x388]
call fcn.0040b320
test rax, rax
je 0x550b18
movups xmmword [rsp + 0x550], xmm15
lea rdi, [rsp + 0x558]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x938]
mov qword [rsp], rdx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466060
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x390]
mov rbx, qword [rsp + 0x388]
movzx ecx, word [rsp + 0x296]
mov rdi, qword [rsp + 0x360]
mov rsi, qword [rsp + 0x298]
mov r8, qword [rsp + 0x2a0]
call fcn.0054f9c0
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x550], rdx
lea rdi, [rsp + 0x558]
lea rsi, [rsp + 0x110]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x250]
mov r9, qword [rsp + 0x256]
mov qword [rsp + 0x336], rdx
mov qword [rsp + 0x33c], r9
mov rdx, qword [rsp + 0x550]
mov qword [rsp + 0x7e0], rdx
lea rdi, [rsp + 0x7e8]
lea rsi, [rsp + 0x558]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x336]
mov r9, qword [rsp + 0x33c]
mov qword [rsp + 0x352], rdx
mov qword [rsp + 0x358], r9
mov rdx, qword [rsp + 0x7e0]
mov qword [rsp + 0x408], rdx
lea rdi, [rsp + 0x410]
lea rsi, [rsp + 0x7e8]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x352]
mov r9, qword [rsp + 0x358]
mov qword [rsp + 0x2e2], rdx
mov qword [rsp + 0x2e8], r9
jmp 0x550cb3
movups xmmword [rsp + 0x550], xmm15
lea rdi, [rsp + 0x558]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x938]
mov qword [rsp], rdx
lea rdi, [rsp + 4]
lea rsi, [rsp + 0x93c]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466060
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x390]
mov rbx, qword [rsp + 0x388]
movzx ecx, word [rsp + 0x296]
mov rdi, qword [rsp + 0x368]
mov rsi, qword [rsp + 0x2a8]
mov r8, qword [rsp + 0x2b0]
call fcn.0054fe40
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x550], rdx
lea rdi, [rsp + 0x558]
lea rsi, [rsp + 0x110]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x250]
mov r9, qword [rsp + 0x256]
mov qword [rsp + 0x336], rdx
mov qword [rsp + 0x33c], r9
mov rdx, qword [rsp + 0x550]
mov qword [rsp + 0x698], rdx
lea rdi, [rsp + 0x6a0]
lea rsi, [rsp + 0x558]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x336]
mov r9, qword [rsp + 0x33c]
mov qword [rsp + 0x344], rdx
mov qword [rsp + 0x34a], r9
mov rdx, qword [rsp + 0x698]
mov qword [rsp + 0x408], rdx
lea rdi, [rsp + 0x410]
lea rsi, [rsp + 0x6a0]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x344]
mov r9, qword [rsp + 0x34a]
mov qword [rsp + 0x2e2], rdx
mov qword [rsp + 0x2e8], r9
mov qword [rsp + 0x378], rbx
mov qword [rsp + 0x2c8], rax
mov rcx, qword [rsp + 0x390]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x388]
call rcx
mov rax, qword [rsp + 0x2c8]
test rax, rax
jne 0x550e68
lea rax, [rsp + 0x408]
call fcn.00545320
mov rcx, qword [0x008b6a48]
nop
cmp qword [0x008b6a40], rax
jne 0x550dc9
call fcn.004040a0
test al, al
je 0x550dc9
cmp byte [rsp + 0x2e9], 0
jne 0x55072e
mov rax, qword [rsp + 0x2e2]
mov rcx, qword [rsp + 0x2e8]
mov qword [rsp + 0x2fe], rax
mov qword [rsp + 0x304], rcx
mov rax, qword [rsp + 0x408]
mov qword [rsp + 0xa40], rax
lea rdi, [rsp + 0xa48]
lea rsi, [rsp + 0x410]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466028
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x2fe]
mov rcx, qword [rsp + 0x304]
mov qword [rsp + 0xb88], rax
mov qword [rsp + 0xb8e], rcx
movups xmmword [rsp + 0x3b0], xmm15
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov qword [rsp + 0x30c], 0
mov qword [rsp + 0x312], 0
mov rax, qword [0x008b6160]
mov rcx, qword [0x008b6168]
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x30c]
mov rbx, qword [rsp + 0x312]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov rcx, qword [0x008b5b18]
cmp qword [0x008b5b10], rax
jne 0x550ea1
mov rbx, qword [rsp + 0x378]
call fcn.004040a0
test al, al
je 0x550e99
lea rax, [0x0072f060]
lea rbx, [0x00918838]
jmp 0x550ee4
mov rax, qword [rsp + 0x2c8]
mov rcx, qword [0x008b5b28]
cmp qword [0x008b5b20], rax
jne 0x550edc
mov rbx, qword [rsp + 0x378]
call fcn.004040a0
nop
test al, al
je 0x550ed4
mov rax, qword [0x008b61e0]
mov rbx, qword [0x008b61e8]
jmp 0x550ee4
mov rax, qword [rsp + 0x2c8]
mov rbx, qword [rsp + 0x378]
mov qword [rsp + 0x31a], 0
mov qword [rsp + 0x320], 0
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x31a]
mov rdx, qword [rsp + 0x320]
mov qword [rsp + 0xb88], rcx
mov qword [rsp + 0xb8e], rdx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rbx
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov qword [rsp + 0x328], 0
mov qword [rsp + 0x32e], 0
movups xmmword [rsp + 0xa40], xmm15
mov rax, rdi
lea rdi, [rsp + 0xa48]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x328]
mov rbx, qword [rsp + 0x32e]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rcx
mov qword [rsp + 0x3b8], rax
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov qword [rsp + 0x2f0], 0
mov qword [rsp + 0x2f6], 0
mov rax, qword [0x008b6190]
mov rcx, qword [0x008b6198]
movups xmmword [rsp + 0xa40], xmm15
lea rdi, [rsp + 0xa48]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465d3d
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x2f0]
mov rbx, qword [rsp + 0x2f6]
mov qword [rsp + 0xb88], rdx
mov qword [rsp + 0xb8e], rbx
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3b8], rcx
call fcn.00435700
mov rax, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3b8]
mov rbp, qword [rsp + 0x928]
add rsp, 0x930
ret
mov qword [rsp + 0x268], rax
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], rdi
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x290], r8
mov byte [rsp + 0x298], r9b
mov byte [rsp + 0x299], r10b
call fcn.00463440
mov rax, qword [rsp + 0x268]
mov rbx, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x278]
mov rdi, qword [rsp + 0x280]
mov rsi, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
movzx r9d, byte [rsp + 0x298]
movzx r10d, byte [rsp + 0x299]
jmp fcn.005504c0