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

Disassembly:
lea r12, [rsp - 0x98]
cmp r12, qword [r14 + 0x10]
jbe 0x565066
sub rsp, 0x118
mov qword [rsp + 0x110], rbp
lea rbp, [rsp + 0x110]
mov rcx, qword [rax + 0x160]
mov rdx, qword [rax + 0x168]
nop word [rax + rax]
test rcx, rcx
jne 0x565022
mov qword [rsp + 0x120], rax
mov byte [rsp + 0x128], bl
call fcn.00568920
mov byte [rsp + 0x54], al
mov rcx, qword [rsp + 0x120]
lea rdx, [rcx + 0x2a0]
mov qword [rsp + 0xb0], rdx
mov rax, rdx
nop dword [rax + rax]
call fcn.004d2b80
test rax, rax
jne 0x564fde
mov rax, qword [rsp + 0xb0]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
nop dword [rax]
call fcn.004d2e60
mov rdx, qword [rsp + 0x120]
mov rbx, qword [rdx]
mov rsi, qword [rdx + 8]
mov qword [rsp + 0xa8], rsi
lea rax, [0x0060f880]
call fcn.0040a960
mov rbx, rax
mov rcx, qword [rsp + 0xa8]
mov edi, 5
mov rax, qword [rsp + 0x120]
call fcn.005652a0
test rax, rax
je 0x5644f5
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x60], rax
mov rcx, qword [0x007dfbb8]
cmp qword [0x007dfbb0], rax
je 0x56442f
xor ecx, ecx
jmp 0x564443
call fcn.00403f40
mov rbx, qword [rsp + 0x88]
mov ecx, eax
mov rax, qword [rsp + 0x60]
test cl, cl
je 0x564482
mov rcx, qword [rsp + 0x120]
lea rax, [rcx + 0x278]
call fcn.004d1440
nop dword [rax + rax]
test rax, rax
jne 0x564475
mov rax, qword [0x007dfb60]
mov rbx, qword [0x007dfb68]
jmp 0x564482
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x88], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x006130c0]
nop dword [rax]
call fcn.0040aa80
test rax, rax
je 0x5644b7
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
test al, al
jne 0x5644d8
mov rdx, qword [rsp + 0x120]
lea rax, [rdx + 0x158]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
call fcn.005625a0
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rcx, qword [rsp + 0x120]
lea rax, [rcx + 0x278]
mov qword [rsp + 0xa0], rax
call fcn.004d1360
movzx ecx, byte [rax]
movzx edx, byte [rsp + 0x54]
test dl, dl
jne 0x564529
nop dword [rax]
cmp cl, 0x80
je 0x564f41
movzx r8d, word [rax + 1]
rol r8w, 8
movzx r9d, word [rax + 3]
mov rax, qword [rsp + 0x120]
movzx r10d, byte [rax + 0x42]
test r10b, r10b
je 0x56468b
movzx r11d, word [rax + 0x40]
cmp r11w, 0x304
je 0x564682
nop
cmp r11w, r8w
jne 0x56456e
test r10b, r10b
jmp 0x564685
mov word [rsp + 0x56], r8w
mov ebx, 0x46
call fcn.005654e0
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
movzx eax, word [rsp + 0x56]
call fcn.0040a6c0
lea rcx, [0x005fe220]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x120]
movzx eax, word [rdx + 0x40]
nop dword [rax]
call fcn.0040a6c0
lea rcx, [0x005fe220]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
lea rax, [0x00657683]
mov ebx, 0x39
lea rcx, [rsp + 0xc8]
mov edi, 2
mov rsi, rdi
call fcn.004af1a0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov rax, qword [rsp + 0x120]
xor ebx, ebx
call fcn.005641c0
mov rcx, qword [rsp]
mov qword [rsp + 0xe8], rcx
movups xmm0, xmmword [rsp + 8]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x100], xmm0
lea rax, [0x00627720]
lea rbx, [rsp + 0xe8]
call fcn.0040a5c0
mov rcx, qword [rsp + 0x120]
add rcx, 0x158
lea rbx, [0x00685b80]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
test r10b, r10b
jne 0x564735
cmp cl, 0x15
je 0x5646a0
cmp cl, 0x16
jne 0x5646ac
nop word [rax + rax]
nop
cmp r8w, 0x1000
jb 0x564735
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
lea rdi, [0x00655785]
mov esi, 0x2f
nop
call fcn.005641c0
mov rdx, qword [rsp]
mov qword [rsp + 0xe8], rdx
movups xmm0, xmmword [rsp + 8]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x100], xmm0
lea rax, [0x00627720]
lea rbx, [rsp + 0xe8]
call fcn.0040a5c0
mov rdx, qword [rsp + 0x120]
add rdx, 0x158
lea rbx, [0x00685b80]
mov rcx, rax
mov rax, rdx
nop dword [rax + rax]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
rol r9w, 8
mov qword [rsp + 0x78], r9
cmp word [rax + 0x40], 0x304
jne 0x564760
cmp r9, 0x4100
jg 0x56476d
jmp 0x56484a
cmp r9, 0x4800
jle 0x56484a
mov ebx, 0x16
call fcn.005654e0
movups xmmword [rsp + 0xb8], xmm15
mov rax, qword [rsp + 0x78]
call fcn.0040a7c0
lea rcx, [0x005fd960]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
lea rax, [0x0065369f]
mov ebx, 0x28
lea rcx, [rsp + 0xb8]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004af1a0
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
mov rax, qword [rsp + 0x120]
xor ebx, ebx
call fcn.005641c0
mov rcx, qword [rsp]
mov qword [rsp + 0xe8], rcx
movups xmm0, xmmword [rsp + 8]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x100], xmm0
lea rax, [0x00627720]
lea rbx, [rsp + 0xe8]
call fcn.0040a5c0
mov rcx, qword [rsp + 0x120]
add rcx, 0x158
lea rbx, [0x00685b80]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
mov qword [rsp + 0xa8], rcx
lea rax, [0x0060f880]
call fcn.0040a960
mov rcx, qword [rsp + 0x78]
lea rdi, [rcx + 5]
mov qword [rsp + 0x78], rdi
mov rbx, rax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x120]
call fcn.005652a0
test rax, rax
je 0x564902
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x006130c0]
call fcn.0040aa80
test rax, rax
je 0x5648c4
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
nop dword [rax]
test al, al
jne 0x5648e5
mov rdx, qword [rsp + 0x120]
lea rax, [rdx + 0x158]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
call fcn.005625a0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x78]
call fcn.004d1f40
mov rdx, qword [rsp + 0x120]
lea rsi, [rdx + 0x158]
mov qword [rsp + 0x98], rsi
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rsi
call fcn.00562ae0
nop dword [rax]
test rsi, rsi
je 0x564989
lea rdx, [0x00685ba0]
cmp rsi, rdx
jne 0x56504b
movzx ebx, byte [r8]
mov rax, qword [rsp + 0x120]
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
cmp rbx, 0x4000
jg 0x564f0b
mov rdx, qword [rsp + 0x120]
cmp qword [rdx + 0x178], 0
jne 0x5649b2
cmp dil, 0x17
je 0x564edb
cmp dil, 0x15
je 0x5649d0
cmp dil, 0x14
je 0x5649d0
nop
test rbx, rbx
je 0x5649d0
mov qword [rdx + 0x320], 0
cmp word [rdx + 0x40], 0x304
jne 0x564a75
nop dword [rax]
cmp dil, 0x16
jne 0x5649ef
cmp dil, 0x15
jmp 0x564a79
mov byte [rsp + 0x53], dil
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x90], rax
lea rax, [rdx + 0x2c8]
call fcn.004d1440
test rax, rax
jg 0x564a3d
movzx edx, byte [rsp + 0x53]
cmp dl, 0x15
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov edi, edx
mov rdx, qword [rsp + 0x120]
jmp 0x564a79
mov rax, qword [rsp + 0x120]
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
nop dword [rax]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
cmp dil, 0x15
ja 0x564da8
nop
cmp dil, 0x14
jne 0x564be0
cmp rbx, 1
jne 0x564a95
cmp byte [rax], 1
je 0x564ac8
mov rax, rdx
mov ebx, 0x32
nop dword [rax]
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [rdx + 0x2c8]
call fcn.004d1440
test rax, rax
jg 0x564ba6
mov rax, qword [rsp + 0x120]
cmp word [rax + 0x40], 0x304
je 0x564b89
movzx ecx, byte [rsp + 0x128]
test cl, cl
je 0x564b5c
mov rax, qword [rsp + 0x98]
call fcn.005626c0
test rax, rax
je 0x564e4d
lea rdx, [0x00685ba0]
nop word [rax + rax]
cmp rax, rdx
jne 0x565038
movzx ebx, byte [rbx]
mov rax, qword [rsp + 0x120]
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
movzx ebx, byte [rsp + 0x128]
call fcn.005650a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0x120]
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
cmp dil, 0x15
jne 0x564eab
cmp rbx, 2
jne 0x564d77
movzx esi, byte [rax + 1]
nop dword [rax + rax]
test sil, sil
je 0x564d4c
mov byte [rsp + 0x55], sil
cmp word [rdx + 0x40], 0x304
je 0x564ce8
movzx ecx, byte [rax]
nop dword [rax]
cmp cl, 1
je 0x564cc8
cmp cl, 2
jne 0x564c95
lea rax, [0x0062dc40]
call fcn.0040d1e0
mov qword [rax + 8], 0xc
lea rcx, [0x00646ba9]
mov qword [rax], rcx
lea rcx, [0x00685ba0]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rsp + 0x55]
lea rdx, [0x007b5d40]
lea rcx, [rdx + rcx*8]
mov qword [rax + 0x48], rcx
lea rbx, [0x00685660]
mov rcx, rax
mov rax, qword [rsp + 0x98]
nop dword [rax]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, 0xa
nop dword [rax]
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
movzx ebx, byte [rsp + 0x128]
call fcn.005650a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x0062dc40]
call fcn.0040d1e0
mov qword [rax + 8], 0xc
lea rcx, [0x00646ba9]
mov qword [rax], rcx
lea rcx, [0x00685ba0]
mov qword [rax + 0x40], rcx
movzx ecx, byte [rsp + 0x55]
lea rdx, [0x007b5d40]
lea rcx, [rdx + rcx*8]
mov qword [rax + 0x48], rcx
lea rbx, [0x00685660]
mov rcx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rbx, qword [0x007dfb60]
mov rcx, qword [0x007dfb68]
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, 0xa
nop
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
cmp dil, 0x16
jne 0x564e0f
test rbx, rbx
je 0x564dc5
movzx esi, byte [rsp + 0x128]
nop dword [rax + rax]
test sil, sil
je 0x564df5
mov rax, rdx
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
add rdx, 0x2c8
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.004d1820
jmp 0x564e4d
cmp dil, 0x17
jne 0x564eab
movzx esi, byte [rsp + 0x54]
nop
test sil, sil
je 0x564e7b
movzx esi, byte [rsp + 0x128]
test sil, sil
jne 0x564e7b
test rbx, rbx
je 0x564e61
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xb0]
call fcn.004d2e60
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, esi
call fcn.005650a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rdx
mov ebx, 0xa
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, qword [rsp + 0x120]
mov ebx, 0x16
call fcn.005654e0
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
nop
ret
mov rax, qword [rsp + 0x120]
mov ebx, 0x46
call fcn.005654e0
mov rax, qword [rsp + 0x120]
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00652205]
mov esi, 0x24
call fcn.005641c0
mov rcx, qword [rsp]
mov qword [rsp + 0xe8], rcx
movups xmm0, xmmword [rsp + 8]
movups xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [rsp + 0x18]
movups xmmword [rsp + 0x100], xmm0
lea rax, [0x00627720]
lea rbx, [rsp + 0xe8]
call fcn.0040a5c0
mov rcx, qword [rsp + 0x120]
add rcx, 0x158
lea rbx, [0x00685b80]
mov rdx, rax
mov rax, rcx
mov rcx, rdx
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rax, [0x00658b89]
mov ebx, 0x4b
call fcn.00468600
mov rcx, qword [rsp + 0x120]
add rcx, 0x158
mov rdx, rax
mov rax, rcx
mov rsi, rbx
mov rbx, rdx
mov rcx, rsi
call fcn.005625a0
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
mov rax, rcx
mov rbx, rdx
mov rbp, qword [rsp + 0x110]
add rsp, 0x118
ret
lea rbx, [0x0060a760]
lea rcx, [0x0060f200]
call fcn.0040a560
mov rax, rsi
lea rbx, [0x0060a760]
lea rcx, [0x0060f200]
nop dword [rax]
call fcn.0040a560
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.0045f280
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
nop
jmp fcn.00564320