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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x5e332a
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
lea rax, [0x0069bdc0]
mov qword [rsp], rax
call fcn.00410b80
mov rdi, qword [rsp + 8]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x5e330c
mov qword [rsp + 0x50], rdi
mov ecx, dword [rax + 0x10]
cmp ecx, 0x29cb474c
jne 0x5e2f80
lea rdx, [0x006748e0]
cmp rdx, rax
jne 0x5e3320
mov rdx, qword [rsp + 0x80]
jne 0x5e2f80
mov byte [rdi + 0x70], 1
mov rcx, qword [rdx + 0x80]
test rcx, rcx
je 0x5e2bf9
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rdi + 8], rcx
mov ecx, dword [0x00850df0]
test ecx, ecx
jne 0x5e2f76
mov qword [rdi], rax
mov qword [rsp + 0x40], rdx
mov rax, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x48]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
lea rax, [0x00662ee0]
mov qword [rsp], rax
call fcn.0040e630
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x10], rcx
mov ecx, dword [0x00850df0]
lea rdi, [rdx + 0x18]
test ecx, ecx
jne 0x5e2f6c
mov qword [rdx + 0x18], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
lea rcx, [0x00662e60]
mov qword [rsp], rcx
call fcn.0040e630
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x20], rax
mov eax, dword [0x00850df0]
lea rdi, [rdx + 0x28]
test eax, eax
jne 0x5e2f5f
mov qword [rdx + 0x28], rcx
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rcx + 0x50]
mov qword [rdx + 0x38], rbx
movzx ebx, byte [rcx + 0x70]
mov byte [rdx + 0x40], bl
mov rax, qword [rcx + 0x58]
mov rbx, qword [rcx + 0x68]
mov rsi, qword [rcx + 0x60]
mov qword [rdx + 0x50], rsi
mov qword [rdx + 0x58], rbx
mov ebx, dword [0x00850df0]
lea rdi, [rdx + 0x48]
test ebx, ebx
jne 0x5e2f55
mov qword [rdx + 0x48], rax
mov ebx, dword [0x00850df0]
lea rdi, [rdx + 0x60]
mov rax, qword [rcx + 0x38]
test ebx, ebx
jne 0x5e2f4b
mov qword [rdx + 0x60], rax
mov ebx, dword [0x00850df0]
lea rdi, [rdx + 0x68]
mov rax, qword [rcx + 0x78]
test ebx, ebx
jne 0x5e2f41
mov qword [rdx + 0x68], rax
mov rbx, qword [rcx + 0x28]
cmp rbx, 1
jle 0x5e2f29
mov eax, 1
mov rcx, qword [rdx + 8]
mov rbx, qword [rdx]
cmp rcx, 4
jne 0x5e2f22
mov ecx, dword [rbx]
cmp ecx, 0x44414548
sete cl
mov byte [rdx + 0x30], cl
movzx ecx, byte [rdx + 0x30]
test cl, cl
je 0x5e2e73
mov qword [rdx + 0x10], 0
mov ecx, dword [0x00850df0]
lea rdi, [rdx + 0x18]
test ecx, ecx
jne 0x5e2e67
mov qword [rdx + 0x18], 0
mov rcx, qword [rdx + 0x48]
mov rbx, qword [rdx + 0x50]
test rbx, rbx
jle 0x5e2e60
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
cmp rcx, 7
jne 0x5e2e59
mov ecx, dword [rbx]
cmp ecx, 0x6e756863
jne 0x5e2e52
movzx ecx, word [rbx + 4]
cmp cx, 0x656b
jne 0x5e2e4b
movzx ecx, byte [rbx + 6]
cmp cl, 0x64
sete cl
test cl, cl
je 0x5e2dc0
mov qword [rdx + 0x38], 0xffffffffffffffff
mov rcx, qword [rdx + 0x48]
mov rbx, qword [rdx + 0x50]
test rbx, rbx
jle 0x5e2e47
mov rbx, qword [rcx]
mov rcx, qword [rcx + 8]
cmp rcx, 7
jne 0x5e2e43
mov ecx, dword [rbx]
cmp ecx, 0x6e756863
jne 0x5e2e3f
movzx ecx, word [rbx + 4]
cmp cx, 0x656b
jne 0x5e2e3b
movzx ecx, byte [rbx + 6]
cmp cl, 0x64
sete cl
test cl, cl
je 0x5e2e1a
mov qword [rsp + 0x88], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov ecx, dword [0x00850df0]
lea rdi, [rdx + 0x68]
test ecx, ecx
jne 0x5e2e32
mov qword [rdx + 0x68], 0
jmp 0x5e2dfd
xor eax, eax
call fcn.004553b0
jmp 0x5e2dfd
xor ecx, ecx
jmp 0x5e2df9
xor ecx, ecx
jmp 0x5e2df9
xor ecx, ecx
jmp 0x5e2df9
xor ecx, ecx
jmp 0x5e2df9
xor ecx, ecx
jmp 0x5e2db4
xor ecx, ecx
jmp 0x5e2db4
xor ecx, ecx
jmp 0x5e2db4
xor ecx, ecx
jmp 0x5e2db4
xor eax, eax
call fcn.004553b0
jmp 0x5e2d6b
test al, al
je 0x5e2ef4
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x5e2ef4
mov rcx, qword [rdx + 0x50]
mov rbx, qword [rdx + 0x48]
test rcx, rcx
jle 0x5e2ef0
mov rcx, qword [rbx + 8]
mov rbx, qword [rbx]
cmp rcx, 7
jne 0x5e2eec
mov ecx, dword [rbx]
cmp ecx, 0x6e756863
jne 0x5e2ee8
movzx ecx, word [rbx + 4]
cmp cx, 0x656b
jne 0x5e2ee4
movzx ecx, byte [rbx + 6]
cmp cl, 0x64
sete cl
test cl, cl
je 0x5e2eca
mov qword [rdx + 0x38], 0xffffffffffffffff
jmp 0x5e2dc0
mov rcx, qword [rdx + 0x10]
test rcx, rcx
jne 0x5e2dc0
mov qword [rdx + 0x38], 0
jmp 0x5e2dc0
xor ecx, ecx
jmp 0x5e2eb9
xor ecx, ecx
jmp 0x5e2eb9
xor ecx, ecx
jmp 0x5e2eb9
xor ecx, ecx
jmp 0x5e2eb9
xorps xmm0, xmm0
movups xmmword [rdx + 0x50], xmm0
mov ecx, dword [0x00850df0]
lea rdi, [rdx + 0x48]
test ecx, ecx
jne 0x5e2f16
mov qword [rdx + 0x48], 0
jmp 0x5e2e80
xor eax, eax
call fcn.004553b0
jmp 0x5e2e80
xor ecx, ecx
jmp 0x5e2d3a
jne 0x5e2f3d
mov rcx, qword [rcx + 0x30]
cmp rcx, 1
setge cl
mov eax, ecx
jmp 0x5e2d1e
xor ecx, ecx
jmp 0x5e2f36
call fcn.004553b0
jmp 0x5e2d0b
call fcn.004553b0
jmp 0x5e2cf1
call fcn.004553b0
jmp 0x5e2cd7
mov rax, rcx
call fcn.004553b0
jmp 0x5e2c99
call fcn.004553b0
jmp 0x5e2c49
call fcn.004553b0
jmp 0x5e2bf9
cmp ecx, 0x7ade63e2
jne 0x5e330c
lea rcx, [0x0069f380]
cmp rcx, rax
jne 0x5e3316
mov rax, qword [rsp + 0x80]
jne 0x5e330c
mov rcx, qword [rax + 0x58]
lea rdx, [rax + 0x58]
test rcx, rcx
je 0x5e2fc4
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x5e3276
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
test rcx, rcx
je 0x5e3265
mov qword [rdi + 8], rcx
mov ecx, dword [0x00850df0]
test ecx, ecx
jne 0x5e3252
mov qword [rdi], rdx
movzx ecx, byte [rax + 0x78]
mov byte [rdi + 0x40], cl
mov rcx, qword [rax + 0x60]
mov rdx, qword [rax + 0x68]
mov rbx, qword [rax + 0x70]
mov qword [rdi + 0x50], rdx
mov qword [rdi + 0x58], rbx
mov edx, dword [0x00850df0]
lea rbx, [rdi + 0x48]
test edx, edx
jne 0x5e3236
mov qword [rdi + 0x48], rcx
mov ecx, dword [0x00850df0]
lea rdx, [rdi + 0x60]
mov rsi, qword [rax + 0x38]
test ecx, ecx
jne 0x5e321a
mov qword [rdi + 0x60], rsi
mov qword [rsp + 0x48], rbx
mov ecx, dword [0x00850df0]
lea rdx, [rdi + 0x68]
mov rsi, qword [rax + 0xa8]
test ecx, ecx
jne 0x5e3204
mov qword [rdi + 0x68], rsi
mov qword [rsp + 0x38], rax
mov rcx, qword [rax + 0x48]
mov rdx, qword [rax + 0x40]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
lea rcx, [0x00662ee0]
mov qword [rsp], rcx
call fcn.0040e630
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x10], rax
mov eax, dword [0x00850df0]
lea rdi, [rdx + 0x18]
test eax, eax
jne 0x5e31f7
mov qword [rdx + 0x18], rcx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x48]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
lea rcx, [0x00662e60]
mov qword [rsp], rcx
call fcn.0040e630
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x50]
mov qword [rdx + 0x20], rax
mov eax, dword [0x00850df0]
lea rdi, [rdx + 0x28]
test eax, eax
jne 0x5e31ea
mov qword [rdx + 0x28], rcx
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rcx + 0x40]
test rbx, rbx
je 0x5e311e
je 0x5e31cd
mov rbx, qword [rbx + 8]
lea rsi, [0x00670f80]
cmp rsi, rbx
jne 0x5e31cd
xor eax, eax
mov qword [rdx + 0x38], rax
test rax, rax
jge 0x5e3132
mov rcx, qword [rdx + 0x50]
test rcx, rcx
je 0x5e313c
mov eax, 1
jmp 0x5e2d3d
mov qword [rsp], rdx
call fcn.005e3340
movzx eax, byte [rsp + 8]
test al, al
jne 0x5e3155
mov rdx, qword [rsp + 0x50]
jmp 0x5e3132
lea rax, [0x0064ce80]
mov qword [rsp], rax
call fcn.00410b80
mov rax, qword [rsp + 8]
mov rcx, qword [0x006f6890]
mov rdx, qword [0x006f6898]
mov qword [rax + 8], rdx
mov edx, dword [0x00850df0]
test edx, edx
jne 0x5e31bd
mov qword [rax], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x50], 1
mov qword [rcx + 0x58], 1
mov edx, dword [0x00850df0]
test edx, edx
jne 0x5e31b1
mov qword [rcx + 0x48], rax
mov rdx, rcx
jmp 0x5e3132
mov rdi, qword [rsp + 0x48]
call fcn.004553b0
jmp 0x5e31ac
mov rdi, rax
mov rax, rcx
call fcn.004553b0
mov rax, rdi
jmp 0x5e3189
mov rcx, qword [rcx + 0x58]
test rcx, rcx
je 0x5e31de
mov rax, rcx
jmp 0x5e3120
mov rax, 0xffffffffffffffff
jmp 0x5e3120
mov rax, rcx
call fcn.004553b0
jmp 0x5e30f6
mov rax, rcx
call fcn.004553b0
jmp 0x5e30a6
mov rdi, rdx
mov r8, rax
mov rax, rsi
call fcn.004553b0
mov rax, r8
jmp 0x5e3056
mov rcx, rdi
mov rdi, rdx
mov r8, rax
mov rax, rsi
call fcn.004553b0
mov rax, r8
mov rdi, rcx
jmp 0x5e3034
mov rdx, rdi
mov rdi, rbx
mov rsi, rax
mov rax, rcx
call fcn.004553b0
mov rax, rsi
mov rdi, rdx
jmp 0x5e301a
mov rcx, rax
mov rax, rdx
call fcn.004553b0
mov rax, rcx
jmp 0x5e2fe9
mov ecx, 3
lea rdx, [0x006ab17e]
jmp 0x5e2fd4
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 8], rdx
lea rax, [0x006492a0]
mov qword [rsp], rax
call fcn.0040e060
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
lea rax, [0x006b7bfc]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2c
lea rax, [rsp + 0x58]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004b7470
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov rdx, rdi
xor eax, eax
jmp 0x5e2d3d
mov eax, 0
jmp 0x5e2fa4
mov edx, 0
jmp 0x5e2bc7
call fcn.00452950
jmp fcn.005e2b50