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

Disassembly:
lea r12, [rsp - 0x180]
cmp r12, qword [r14 + 0x10]
jbe 0x5945a5
sub rsp, 0x200
mov qword [rsp + 0x1f8], rbp
lea rbp, [rsp + 0x1f8]
mov qword [rsp + 0x218], rcx
cmp qword [rax + 0x320], 0
jne 0x593f44
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x230], r8
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x218], rcx
test rdi, rdi
je 0x593aa8
mov rdx, qword [rcx + rdi*8 - 8]
mov rsi, qword [rdx + 0x68]
mov rdx, qword [rdx + 0x60]
mov r9, qword [rax + 0x48]
cmp qword [rax + 0x50], rsi
jne 0x593a4b
mov rax, rdx
mov rbx, r9
mov rcx, rsi
call fcn.00402da0
test al, al
je 0x593a43
mov rax, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x210]
mov rdi, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
jmp 0x593aa8
mov rax, qword [rsp + 0x208]
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 5
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x00692260]
lea rbx, [rsp + 0xf8]
call fcn.0040ac40
mov rbx, rax
lea rax, [0x0073b8e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rdx, qword [r8 + 0x20]
mov r9, qword [r8 + 0x28]
mov r10, qword [r8 + 0x30]
bt rdx, 0x3f
jae 0x593ad4
mov r11, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r12, 0xdd7b17f80
add rdx, r12
jmp 0x593ada
mov r11, rdx
mov rdx, r9
test rdx, rdx
jne 0x593b06
mov rdx, r11
and r11d, 0x3fffffff
test r11d, r11d
jne 0x593b09
call fcn.0048c860
mov r9, rbx
mov rdx, rax
mov r10, rcx
mov rax, qword [rsp + 0x208]
jmp 0x593b09
mov rdx, r11
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r9
mov rsi, qword [rax + 0x2b8]
mov r8, qword [rax + 0x2c0]
mov rdi, qword [rax + 0x2b0]
mov rbx, r9
mov rcx, r10
mov rax, rdx
call fcn.0048b480
nop
test al, al
jne 0x593de8
mov rdx, qword [rsp + 0x208]
mov rsi, qword [rdx + 0x2d0]
mov r8, qword [rdx + 0x2d8]
mov rdi, qword [rdx + 0x2c8]
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
call fcn.0048b3c0
nop dword [rax]
test al, al
jne 0x593c8c
mov rdx, qword [rsp + 0x230]
mov rdx, qword [rdx + 0x50]
mov qword [rsp + 0x60], rdx
test rdx, rdx
jne 0x593ba7
mov qword [rsp + 0x60], 0x3d090
mov qword [rsp + 0x70], 0
mov rdx, qword [rsp + 0x210]
cmp rdx, 1
jne 0x593bcb
mov r8, qword [rsp + 0x220]
test r8, r8
jmp 0x593bdc
cmp rdx, 2
jne 0x593c27
mov r8, qword [rsp + 0x220]
test r8, r8
je 0x593bef
mov r9, qword [rsp + 0x218]
mov r9, qword [r9]
cmp rdx, 1
jmp 0x593c39
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x38
lea rcx, [0x006cb5de]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0073b260]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
cmp rdx, 1
mov r8, qword [rsp + 0x220]
mov r9d, 0
mov qword [rsp + 0xa0], r9
je 0x593c49
cmp rdx, 2
jne 0x593c85
nop
mov r10, qword [0x008affd0]
mov r11, qword [0x008affd8]
mov r12, qword [rsp + 0x208]
mov r13, qword [r12 + 0x2f0]
mov r15, qword [r12 + 0x2e8]
test r13, r13
je 0x5944df
xor eax, eax
nop dword [rax + rax]
jmp 0x5944f3
xor eax, eax
jmp 0x593f62
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
lea rdi, [0x006bc848]
mov esi, 0x19
call fcn.00484f80
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rbx
mov rdx, qword [rsp + 0x208]
mov r8, qword [rdx + 0x2c8]
mov r9, qword [rdx + 0x2d0]
mov rcx, qword [rdx + 0x2d8]
lea rdi, [0x006bc848]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.00484f80
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x88]
call fcn.0040aec0
lea rdx, [0x006654e0]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040aec0
lea rdx, [0x006654e0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006bde4c]
mov ebx, 0x1b
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004ed700
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x00692260]
lea rbx, [rsp + 0xf8]
call fcn.0040ac40
mov rbx, rax
lea rax, [0x0073b8e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
lea rdi, [0x006bc848]
mov esi, 0x19
call fcn.00484f80
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rbx
mov rdx, qword [rsp + 0x208]
mov r8, qword [rdx + 0x2b0]
mov r9, qword [rdx + 0x2b8]
mov rcx, qword [rdx + 0x2c0]
lea rdi, [0x006bc848]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.00484f80
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x80], rbx
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe8], xmm15
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x88]
call fcn.0040aec0
lea rdx, [0x006654e0]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x80]
call fcn.0040aec0
lea rdx, [0x006654e0]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
lea rax, [0x006be78c]
mov ebx, 0x1c
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004ed700
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x00692260]
lea rbx, [rsp + 0xf8]
call fcn.0040ac40
mov rbx, rax
lea rax, [0x0073b8e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
lea rax, [0x0073b980]
lea rbx, [0x00913d50]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
test al, al
je 0x593f92
mov r10, qword [0x008afff0]
mov r11, qword [0x008afff8]
mov r12, qword [r9 + 0x2f0]
mov r13, qword [r9 + 0x2e8]
test r12, r12
je 0x594084
xor eax, eax
jmp 0x594444
cmp rdx, 1
jne 0x593fff
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x593fb2
cmp byte [rcx + 0x361], 0
jne 0x594007
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x00692260]
lea rbx, [rsp + 0xf8]
nop
call fcn.0040ac40
mov rbx, rax
lea rax, [0x0073b8e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov rcx, qword [rsp + 0x208]
cmp byte [rcx + 0x360], 0
je 0x594070
mov rdx, qword [rcx + 0x368]
test rdx, rdx
jl 0x594070
lea rsi, [r8 - 1]
cmp rdx, rsi
jge 0x594070
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 3
movups xmmword [rsp + 0x108], xmm15
lea rax, [0x00692260]
lea rbx, [rsp + 0xf8]
call fcn.0040ac40
mov rbx, rax
lea rax, [0x0073b8e0]
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
xor eax, eax
test al, al
jne 0x594095
xor eax, eax
lea rcx, [rsp + 0x40]
xor ebx, ebx
jmp 0x5940f3
lea rax, [0x006a2b60]
lea rbx, [rsp + 0x40]
xor ecx, ecx
mov rdi, rcx
mov esi, 1
call fcn.0044b680
cmp dword [0x00913f20], 0
jne 0x5940c6
mov rdx, qword [rsp + 0xa0]
mov qword [rax], rdx
jmp 0x5940d6
mov rdi, rax
mov rdx, qword [rsp + 0xa0]
call fcn.00464d00
lea rdx, [rbx + 1]
mov r8, qword [rsp + 0x220]
mov rbx, rcx
mov rcx, rax
mov rax, rdx
mov rdx, qword [rsp + 0x210]
mov r9, qword [0x008afff0]
mov r10, qword [0x008afff8]
mov r11, qword [rsp + 0x208]
mov r12, qword [r11 + 0x2f0]
mov r13, qword [r11 + 0x2e8]
test r12, r12
je 0x594128
mov qword [rsp + 0x48], r10
xor esi, esi
jmp 0x59435f
xor esi, esi
test sil, sil
je 0x594193
lea rsi, [rax + 1]
cmp rbx, rsi
jae 0x594176
mov qword [rsp + 0x40], rax
mov rdi, rbx
mov rbx, rcx
mov rcx, rax
lea rax, [0x006a2b60]
call fcn.0044b680
lea rsi, [rbx + 1]
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov r11, qword [rsp + 0x208]
mov rcx, rax
mov rax, qword [rsp + 0x40]
lea rdi, [rcx + rax*8]
cmp dword [0x00913f20], 0
jne 0x594189
mov qword [rcx + rax*8], r11
jmp 0x594196
mov r9, r11
call fcn.00464d80
jmp 0x594196
mov rsi, rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x90], rcx
xor eax, eax
jmp 0x5941e0
mov rax, qword [rsp + 0x88]
inc rax
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
mov r11, qword [rsp + 0x208]
nop word [rax + rax]
cmp rax, rsi
jge 0x59427a
mov qword [rsp + 0x88], rax
mov r9, qword [rcx + rax*8]
mov r10, qword [r9 + 0x2f0]
mov r9, qword [r9 + 0x2e8]
test r10, r10
je 0x59420f
xor ebx, ebx
jmp 0x59429c
xor ebx, ebx
xor edi, edi
xor r9d, r9d
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
lea rdx, [0x00594600]
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], r11
lea rsi, [rsp + 0x70]
mov qword [rsp + 0xc8], rsi
lea rsi, [rsp + 0x60]
mov qword [rsp + 0xd0], rsi
mov rax, r9
mov rcx, rbx
mov rbx, rdi
lea rdi, [rsp + 0xb8]
call fcn.0058ac80
test rax, rax
je 0x5941a7
jmp 0x594285
cmp rdx, 1
nop
jmp 0x593f96
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
add r9, 0x38
mov rbx, r12
mov r12, qword [r9]
mov qword [rsp + 0x118], r12
movups xmm0, xmmword [r9 + 8]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [r9 + 0x18]
movups xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [r9 + 0x28]
movups xmmword [rsp + 0x140], xmm0
mov r12, qword [rsp + 0x120]
mov r13, qword [rsp + 0x118]
mov r15, qword [0x008afff0]
cmp qword [0x008afff8], r12
jne 0x594302
xor edi, edi
jmp 0x594323
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
lea r12, [rbx + 1]
cmp r10, r12
jg 0x594295
jmp 0x59420f
inc rdi
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x220]
cmp rdi, r12
jge 0x594338
mov r8, qword [r13 + rdi*8]
mov rdx, qword [r15 + rdi*8]
cmp rdx, r8
je 0x594310
jmp 0x5942f2
mov r9, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
jmp 0x594216
add r13, 0x38
mov rsi, r8
mov r8, rdi
mov r15, qword [r13]
mov qword [rsp + 0x150], r15
movups xmm0, xmmword [r13 + 8]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [r13 + 0x18]
movups xmmword [rsp + 0x168], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmmword [rsp + 0x178], xmm0
mov r15, qword [rsp + 0x158]
mov rdi, r8
mov r8, qword [rsp + 0x150]
cmp r15, r10
jne 0x5943d2
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
jmp 0x5943ff
mov rdx, qword [rsp + 0x210]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x208]
lea r8, [rsi + 1]
cmp r12, r8
jg 0x594355
nop
jmp 0x594418
inc rdx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x208]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x68]
cmp rdx, r15
jge 0x594425
mov r11, qword [r8 + rdx*8]
mov r10, qword [r9 + rdx*8]
cmp r10, r11
je 0x5943e2
jmp 0x5943bd
mov r8, rdi
nop dword [rax + rax]
jmp 0x594128
mov rdx, qword [rsp + 0x210]
mov r8, rdi
mov esi, 1
jmp 0x59412a
add r13, 0x38
mov rax, r8
mov r8, rcx
mov r15, qword [r13]
mov qword [rsp + 0x188], r15
movups xmm0, xmmword [r13 + 8]
movups xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [r13 + 0x18]
movups xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmmword [rsp + 0x1b0], xmm0
mov r15, qword [rsp + 0x190]
mov rcx, r8
mov r8, qword [rsp + 0x188]
cmp r15, r11
jne 0x594499
xor ebx, ebx
jmp 0x5944b0
mov rdx, rdi
mov r9, rsi
lea r8, [rax + 1]
nop dword [rax]
cmp r12, r8
jg 0x59443a
jmp 0x5944ca
inc rbx
mov rdx, rdi
mov r9, rsi
cmp rbx, r15
jge 0x5944d2
mov rsi, r9
mov r9, qword [r8 + rbx*8]
mov rdi, rdx
mov rdx, qword [r10 + rbx*8]
cmp rdx, r9
je 0x5944a7
jmp 0x594493
mov r8, rcx
jmp 0x594084
mov r8, rcx
mov eax, 1
jmp 0x594086
xor eax, eax
jmp 0x593f62
add r15, 0x38
mov r8, rcx
mov rax, rdx
mov rdx, rbx
mov rcx, r8
mov r8, qword [r15]
mov qword [rsp + 0x1c0], r8
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x1c8], xmm0
movups xmm0, xmmword [r15 + 0x18]
movups xmmword [rsp + 0x1d8], xmm0
movups xmm0, xmmword [r15 + 0x28]
movups xmmword [rsp + 0x1e8], xmm0
mov r8, qword [rsp + 0x1c8]
mov rbx, rdx
mov rdx, qword [rsp + 0x1c0]
nop dword [rax + rax]
cmp r8, r11
jne 0x594554
xor esi, esi
jmp 0x59456d
mov r9, qword [rsp + 0xa0]
mov r12, rdi
lea rdx, [rax + 1]
cmp r13, rdx
jg 0x5944e6
jmp 0x594587
inc rsi
mov r9, qword [rsp + 0xa0]
mov r12, rdi
cmp rsi, r8
jge 0x594592
mov rdi, r12
mov r12, qword [rdx + rsi*8]
mov r9, qword [r10 + rsi*8]
nop dword [rax]
cmp r9, r12
je 0x59455f
jmp 0x594549
mov rdx, rbx
mov r8, rcx
jmp 0x5944df
mov rdx, rbx
mov r8, rcx
mov eax, 1
nop dword [rax]
jmp 0x593f62
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.004629a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00593980