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

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x5a87ed
sub rsp, 0x120
mov qword [rsp + 0x118], rbp
lea rbp, [rsp + 0x118]
mov rcx, qword [rax + 0x48]
cmp qword [rcx + 0x88], 0
jne 0x5a7aa1
cmp byte [rcx + 0xa0], 0
nop
jne 0x5a7aa1
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x50
lea rcx, [0x006cea35]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
nop
ret
mov rdx, qword [rcx + 0x70]
mov rsi, qword [rcx + 0x68]
test rdx, rdx
je 0x5a7ab7
xor ebx, ebx
xor edi, edi
jmp 0x5a8784
xor edx, edx
nop dword [rax]
cmp rdx, 0xffff
jg 0x5a7fdb
mov qword [rsp + 0x128], rax
mov qword [rsp + 0xe0], rcx
mov rax, rcx
mov ebx, 1
call fcn.0059df60
test rbx, rbx
je 0x5a7f9d
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x78], rcx
mov rax, qword [rsp + 0xe0]
mov ebx, 1
call fcn.0059df60
test rbx, rbx
jne 0x5a7b22
xor edx, edx
nop
jmp 0x5a7b25
movzx edx, word [rax]
mov word [rsp + 0x40], dx
lea rax, [0x006656a0]
mov ebx, 0x20
mov rcx, rbx
call fcn.0044b520
mov qword [rsp + 0x110], rax
mov ebx, 0x20
mov rcx, rbx
lea rax, [0x006656a0]
call fcn.0044b520
mov qword [rsp + 0x108], rax
mov rdx, qword [rsp + 0xe0]
mov rsi, qword [rdx + 0x80]
mov rbx, qword [rdx + 0x88]
mov rax, rsi
nop dword [rax + rax]
call fcn.005adb40
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x98], rbx
movzx edx, word [rsp + 0x40]
cmp dx, 0x303
mov esi, 0x303
cmova dx, si
mov word [rsp + 0x46], dx
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsi + 0x108]
mov r8, qword [rsi + 0x110]
mov r9, qword [rsi + 0x100]
test rdi, rdi
jne 0x5a7be4
mov r9, qword [0x008afe10]
mov rdi, qword [0x008afe18]
mov r8, qword [0x008afe20]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x58], r8
lea rax, [0x006ae4a0]
nop dword [rax]
call fcn.0040d780
mov qword [rsp + 0xd8], rax
movzx ecx, word [rsp + 0x46]
mov word [rax + 0x18], cx
lea rax, [0x00666900]
nop dword [rax]
call fcn.0040d780
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0x70], 1
mov qword [rdi + 0x78], 1
cmp dword [0x00913f20], 0
jne 0x5a7c4c
mov qword [rdi + 0x68], rax
jmp 0x5a7c5e
lea rcx, [rdi + 0x68]
mov rdx, rdi
mov rdi, rcx
call fcn.00464be0
mov rdi, rdx
mov qword [rdi + 0x28], 0x20
mov qword [rdi + 0x30], 0x20
cmp dword [0x00913f20], 0
jne 0x5a7c85
mov rcx, qword [rsp + 0x110]
mov qword [rdi + 0x20], rcx
jmp 0x5a7c9f
lea rcx, [rdi + 0x20]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x110]
call fcn.00464d00
mov rdi, rax
mov qword [rdi + 0x40], 0x20
mov qword [rdi + 0x48], 0x20
cmp dword [0x00913f20], 0
jne 0x5a7cc6
mov rcx, qword [rsp + 0x108]
mov qword [rdi + 0x38], rcx
jmp 0x5a7ce0
lea rcx, [rdi + 0x38]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x108]
call fcn.00464d00
mov rdi, rax
mov byte [rdi + 0x90], 1
mov byte [rdi + 0x150], 1
mov rcx, qword [rsp + 0x98]
mov qword [rdi + 0x88], rcx
cmp dword [0x00913f20], 0
jne 0x5a7d17
mov rcx, qword [rsp + 0x100]
mov qword [rdi + 0x80], rcx
jmp 0x5a7d34
lea rcx, [rdi + 0x80]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x100]
call fcn.00464d00
mov rdi, rax
mov rcx, qword [rsp + 0x50]
mov qword [rdi + 0xa0], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 0xa8], rcx
cmp dword [0x00913f20], 0
jne 0x5a7d66
mov rcx, qword [rsp + 0xa8]
mov qword [rdi + 0x98], rcx
jmp 0x5a7d7d
lea rcx, [rdi + 0x98]
mov rdi, rcx
mov rdx, qword [rsp + 0xa8]
call fcn.00464d00
lea rax, [0x00666900]
call fcn.0040d780
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0xb8], 1
mov qword [rdi + 0xc0], 1
cmp dword [0x00913f20], 0
jne 0x5a7db9
mov qword [rdi + 0xb0], rax
jmp 0x5a7dce
lea rdx, [rdi + 0xb0]
mov rcx, rdi
mov rdi, rdx
call fcn.00464be0
mov rdi, rcx
mov byte [rdi + 0x118], 1
mov rdx, qword [rsp + 0xe0]
mov rsi, qword [rdx + 0x68]
mov r8, qword [rdx + 0x70]
mov r9, qword [rdx + 0x78]
mov qword [rdi + 0x140], r8
mov qword [rdi + 0x148], r9
cmp dword [0x00913f20], 0
nop
jne 0x5a7e0b
mov qword [rdi + 0x138], rsi
jmp 0x5a7e20
lea r8, [rdi + 0x138]
mov rax, rdi
mov rdi, r8
call fcn.00464d40
mov rdi, rax
mov rsi, qword [rsp + 0x70]
mov qword [rdi + 0x160], rsi
mov rsi, qword [rsp + 0x78]
mov qword [rdi + 0x168], rsi
cmp dword [0x00913f20], 0
nop
jne 0x5a7e53
mov rsi, qword [rsp + 0xc0]
mov qword [rdi + 0x158], rsi
jmp 0x5a7e70
lea rsi, [rdi + 0x158]
mov rax, rdi
mov rdi, rsi
mov r8, qword [rsp + 0xc0]
call fcn.00464d60
mov rdi, rax
mov rsi, qword [rsp + 0x128]
cmp qword [rsi + 0x50], 0
jle 0x5a7ec8
mov qword [rdi + 0x128], 0xc
mov qword [rdi + 0x130], 0xc
add rsi, 0x129
cmp dword [0x00913f20], 0
jne 0x5a7eae
mov qword [rdi + 0x120], rsi
jmp 0x5a7ec8
lea r8, [rdi + 0x120]
mov rax, rdi
mov rdi, r8
nop dword [rax + rax]
call fcn.00464d40
mov rdi, rax
mov rsi, qword [0x008afd50]
mov r8, qword [0x008afd58]
cmp byte [0x00913b05], 0
jne 0x5a7eed
mov rsi, qword [0x008afd70]
mov r8, qword [0x008afd78]
mov qword [rsp + 0x80], r8
mov qword [rsp + 0xc8], rsi
mov r9, qword [rdx + 0xa8]
mov r10, qword [rdx + 0xb0]
test r9, r9
jne 0x5a7f1e
mov r9, qword [0x008be000]
mov r10, qword [0x008be008]
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x48], r10
lea rax, [0x006655e0]
xor ebx, ebx
mov rcx, r10
call fcn.0044b520
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0x58], 0
mov rdx, qword [rsp + 0x48]
mov qword [rdi + 0x60], rdx
lea rsi, [rdi + 0x50]
cmp dword [0x00913f20], 0
jne 0x5a7f68
mov qword [rdi + 0x50], rax
jmp 0x5a7f76
mov rcx, rdi
mov rdi, rsi
call fcn.00464be0
mov rdi, rcx
mov qword [rsp + 0xf8], rsi
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0xc8]
mov r11, qword [rsp + 0xa0]
xor eax, eax
jmp 0x5a8020
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x3c
lea rcx, [0x006cc18f]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x20
lea rcx, [0x006c10ed]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
inc rax
nop dword [rax]
cmp r9, rax
jle 0x5a8127
movzx r12d, word [r10 + rax*2]
xor ecx, ecx
jmp 0x5a8732
nop
mov r15, qword [0x008afd30]
mov rcx, r11
mov r11, qword [0x008afd38]
xor ebx, ebx
jmp 0x5a8751
xor ecx, ecx
test rcx, rcx
je 0x5a8019
cmp word [rdi + 0x18], 0x303
jae 0x5a8068
mov r13, qword [rcx + 0x28]
bt r13d, 2
jb 0x5a8019
mov rcx, qword [rdi + 0x58]
lea r13, [rcx + 1]
mov rbx, qword [rdi + 0x50]
mov r15, qword [rdi + 0x60]
nop dword [rax + rax]
cmp r15, r13
jae 0x5a8115
mov qword [rsp + 0x98], rax
mov word [rsp + 0x42], r12w
lea rax, [0x006655e0]
mov rdi, r15
mov rsi, r13
call fcn.0044b680
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + 0x60], rcx
cmp dword [0x00913f20], 0
jne 0x5a80cc
mov qword [rdx + 0x50], rax
mov rdi, qword [rsp + 0xf8]
jmp 0x5a80d9
mov rdi, qword [rsp + 0xf8]
call fcn.00464be0
mov rdx, qword [rsp + 0x48]
mov rsi, rdi
mov rdi, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x80]
mov r10, qword [rsp + 0xc8]
mov r11, qword [rsp + 0xa0]
movzx r12d, word [rsp + 0x42]
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
lea r13, [rcx + 1]
mov qword [rdi + 0x58], r13
mov word [rbx + rcx*2], r12w
jmp 0x5a8019
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
test r9, r9
jne 0x5a8149
mov r9, qword [0x008bd250]
mov r10, qword [0x008bd258]
mov r8, qword [rdi + 0x28]
mov rcx, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x30]
mov rax, r9
mov rbx, r10
mov rdi, r8
nop
call fcn.004927c0
test rbx, rbx
jne 0x5a868d
mov rdx, qword [rsp + 0xe0]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
nop dword [rax]
test r9, r9
jne 0x5a8193
mov r9, qword [0x008bd250]
mov r10, qword [0x008bd258]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x48]
mov rax, r9
mov rbx, r10
mov rdi, r8
call fcn.004927c0
test rbx, rbx
jne 0x5a8602
mov rax, qword [rsp + 0xd8]
cmp word [rax + 0x18], 0x303
jb 0x5a820f
mov rdx, qword [0x008afe30]
mov r8, qword [0x008afe38]
mov r9, qword [0x008afe40]
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x00913f20], 0
jne 0x5a8203
mov qword [rax + 0xe8], rdx
jmp 0x5a820f
lea rdi, [rax + 0xe8]
call fcn.00464d00
mov rdx, qword [0x008be020]
mov r8, qword [0x008be028]
mov r9, qword [0x008be030]
test rdx, rdx
je 0x5a8257
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x00913f20], 0
nop
jne 0x5a824b
mov qword [rax + 0xe8], rdx
jmp 0x5a8257
lea rdi, [rax + 0xe8]
call fcn.00464d00
mov rdx, qword [rax + 0x158]
cmp qword [rax + 0x160], 0
jbe 0x5a8725
cmp word [rdx], 0x304
jne 0x5a85e4
cmp byte [0x00913b05], 0
nop
je 0x5a834d
mov rdx, qword [0x008afdd8]
mov rcx, qword [rax + 0x58]
lea rsi, [rdx + rcx]
mov qword [rsp + 0x98], rsi
mov rdi, qword [rax + 0x60]
mov rbx, qword [rax + 0x50]
cmp rdi, rsi
jae 0x5a82cc
mov qword [rsp + 0x90], rcx
lea rax, [0x006655e0]
call fcn.0044b680
mov rbx, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xf0], rbx
mov rdx, qword [0x008afdd0]
lea rax, [rbx + rcx*2]
mov rcx, qword [0x008afdd8]
shl rcx, 1
mov rbx, rdx
call fcn.00465a20
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xd8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsi + 0x60], rdx
cmp dword [0x00913f20], 0
jne 0x5a8333
mov rdx, qword [rsp + 0xf0]
mov qword [rsi + 0x50], rdx
jmp 0x5a8411
mov rdi, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
call fcn.00464d00
jmp 0x5a8411
mov rdx, qword [0x008afdf8]
mov rcx, qword [rax + 0x58]
lea rsi, [rdx + rcx]
mov qword [rsp + 0x98], rsi
mov rdi, qword [rax + 0x60]
mov rbx, qword [rax + 0x50]
cmp rdi, rsi
jae 0x5a8393
mov qword [rsp + 0x90], rcx
lea rax, [0x006655e0]
call fcn.0044b680
mov rbx, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xf0], rbx
mov rdx, qword [0x008afdf0]
lea rax, [rbx + rcx*2]
mov rcx, qword [0x008afdf8]
shl rcx, 1
mov rbx, rdx
nop dword [rax + rax]
call fcn.00465a20
mov rdx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xd8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsi + 0x60], rdx
cmp dword [0x00913f20], 0
jne 0x5a83fc
mov rdx, qword [rsp + 0xf0]
mov qword [rsi + 0x50], rdx
jmp 0x5a8411
mov rdi, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
call fcn.00464d00
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rdx + 0x108]
mov rdi, qword [rdx + 0x100]
test rbx, rbx
jne 0x5a8440
mov rdi, qword [0x008afe10]
mov rbx, qword [0x008afe18]
nop word [rax + rax]
test rbx, rbx
jbe 0x5a8717
movzx eax, word [rdi]
mov word [rsp + 0x44], ax
call fcn.005c87c0
movzx edx, word [rsp + 0x44]
nop dword [rax + rax]
cmp dx, 0x1d
je 0x5a84a8
test cl, cl
jne 0x5a84a8
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x30
lea rcx, [0x006c8bb6]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsi]
mov rsi, qword [rsi + 8]
test rdi, rdi
jne 0x5a84ca
mov rdi, qword [0x008bd250]
mov rsi, qword [0x008bd258]
mov rax, rdi
mov rbx, rsi
mov ecx, edx
call fcn.005c84a0
nop word [rax + rax]
test rcx, rcx
jne 0x5a85c8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xd0], rbx
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rcx
lea rax, [0x006664e0]
call fcn.0040d780
movzx ecx, word [rsp + 0x44]
mov word [rax], cx
mov rcx, qword [rsp + 0x98]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x18], rcx
cmp dword [0x00913f20], 0
jne 0x5a855d
mov rdx, qword [rsp + 0xe8]
mov qword [rax + 8], rdx
jmp 0x5a856e
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0xe8]
call fcn.00464d00
mov rdi, qword [rsp + 0xd8]
mov qword [rdi + 0x190], 1
mov qword [rdi + 0x198], 1
cmp dword [0x00913f20], 0
jne 0x5a859e
mov qword [rdi + 0x188], rax
jmp 0x5a85b3
lea rdx, [rdi + 0x188]
mov rcx, rdi
mov rdi, rdx
call fcn.00464be0
mov rdi, rcx
mov rax, rdi
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xd0]
jmp 0x5a85e8
xor eax, eax
xor ebx, ebx
mov rsi, rdi
mov rdi, rcx
xor ecx, ecx
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
xor ecx, ecx
xor edx, edx
mov rbx, rcx
mov rcx, rdx
xor edi, edi
xor esi, esi
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006be4d6]
nop
call fcn.0044f260
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rbx
lea rax, [0x0067c040]
call fcn.0040d780
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
cmp dword [0x00913f20], 0
jne 0x5a865d
mov rdx, qword [rsp + 0xb0]
mov qword [rax], rdx
jmp 0x5a866d
mov rdi, rax
mov rdx, qword [rsp + 0xb0]
call fcn.00464d00
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006be4d6]
call fcn.0044f260
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x68], rbx
lea rax, [0x0067c040]
call fcn.0040d780
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x00913f20], 0
jne 0x5a86e7
mov rdx, qword [rsp + 0xb8]
mov qword [rax], rdx
jmp 0x5a86f7
mov rdi, rax
mov rdx, qword [rsp + 0xb8]
call fcn.00464d00
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00465080
xor eax, eax
mov rcx, rax
call fcn.00465080
inc rcx
cmp rcx, rdx
jge 0x5a804e
movzx r13d, word [r11 + rcx*2]
cmp r13w, r12w
jne 0x5a872f
jmp 0x5a8035
inc rbx
mov r12d, r8d
cmp rbx, r11
jge 0x5a8769
mov r8d, r12d
mov r12, qword [r15 + rbx*8]
nop dword [rax]
cmp word [r12], r13w
jne 0x5a874b
jmp 0x5a876f
mov r8d, r12d
xor r12d, r12d
mov r11, rcx
mov rcx, r12
mov r12d, r8d
jmp 0x5a8050
add rsi, 0x10
mov rbx, r9
mov r8, qword [rsi + 8]
test r8, r8
je 0x5a87af
cmp r8, 0xff
jg 0x5a87af
lea r9, [rbx + 1]
lea rdi, [rdi + r8]
lea rdi, [rdi + 1]
cmp rdx, r9
jg 0x5a877d
mov rdx, rdi
jmp 0x5a7ac0
lea rax, [0x0067c040]
call fcn.0040d780
mov qword [rax + 8], 0x1d
lea rcx, [0x006bf648]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x0073b260]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov qword [rsp + 8], rax
call fcn.004629a0
mov rax, qword [rsp + 8]
nop dword [rax]
jmp fcn.005a7a20