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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4581b8
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rdx, qword [rax]
cmp dword [rdx + 0x10], 0
je 0x458142
movzx r9d, byte [rdx + 0x28]
movzx r10d, byte [rdx + 0x29]
cmp r9b, 4
jne 0x457f33
and r10d, 0xfffffffd
test cl, cl
je 0x457f3b
and r10d, 0xfffffffd
mov qword [rsp + 0x70], rax
mov r11, qword [rax + 8]
cmp qword [rax + 0x30], 0
jne 0x458084
mov byte [rsp + 0x78], bl
movzx r12d, byte [rax + 0x59]
nop dword [rax + rax]
test r12b, 8
je 0x45802d
mov r12, qword [rax + 0x48]
mov r13, qword [r12 + 0x30]
cmp qword [r13], r12
jne 0x45802d
mov r12, qword [r13 + 0x90]
test r12, r12
je 0x45802d
cmp qword [r12 + 0x30], r13
jne 0x45802d
cmp r9b, 0xc
je 0x457fce
nop
cmp r9b, 0x13
jne 0x45802d
mov r9, r12
nop
mov qword [rax + 0x48], r12
mov r12, qword [r9 + 0x38]
mov qword [rax + 0x28], r12
mov r9, qword [r9 + 0x148]
dec r9
mov qword [rax + 0x50], r9
and r10d, 0xfffffffd
jmp 0x45802d
mov qword [rsp + 0x58], r12
mov rcx, r12
nop
mov qword [rax + 0x48], r12
mov rdx, qword [rcx + 0x40]
mov qword [rax + 0x10], rdx
mov rax, rdx
call fcn.00452260
mov rsi, qword [rsp + 0x70]
mov qword [rsi], rax
mov qword [rsi + 8], rbx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 0x60]
movzx r10d, byte [rax + 0x29]
mov qword [rsi + 0x20], rdx
mov rdx, qword [rcx + 0x38]
mov qword [rsi + 0x28], rdx
mov rcx, qword [rcx + 0x148]
dec rcx
mov qword [rsi + 0x50], rcx
mov rdx, rax
mov r11, rbx
mov rax, rsi
movzx ebx, byte [rsp + 0x78]
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x37], r10b
mov rdi, qword [rax + 0x10]
lea rsi, [rax + 0x60]
mov ecx, dword [rdx + 0x10]
mov rbx, r11
mov r8d, 1
mov rax, rdx
call fcn.004523e0
movsxd rdx, eax
mov r9, qword [rsp + 0x70]
add rdx, qword [r9 + 0x28]
add rdx, 8
mov qword [r9 + 0x30], rdx
mov rax, r9
movzx ebx, byte [rsp + 0x78]
movzx r10d, byte [rsp + 0x37]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
test r10b, 1
je 0x458094
mov qword [rax + 0x20], 0
jmp 0x4580ce
test r10b, 2
je 0x4580b8
movzx ecx, byte [rax + 0x59]
nop
test cl, 3
je 0x4580af
mov qword [rax + 0x20], 0
jmp 0x4580ce
test bl, bl
jne 0x4580ce
jmp 0x45814d
cmp qword [rax + 0x20], 0
jne 0x4580ce
mov rcx, qword [rax + 0x30]
add rcx, 0xfffffffffffffff8
mov rcx, qword [rcx]
mov qword [rax + 0x20], rcx
mov rcx, qword [rax + 0x30]
lea rdx, [rcx - 8]
mov qword [rax + 0x38], rdx
nop word [rax + rax]
cmp qword [rax + 0x28], rdx
jae 0x4580ee
add rcx, 0xfffffffffffffff0
mov qword [rax + 0x38], rcx
mov rcx, qword [rax + 0x30]
mov qword [rax + 0x40], rcx
mov rcx, qword [rax + 0x10]
mov qword [rax + 0x18], rcx
cmp byte [rax + 0x58], 0x12
jne 0x45813c
mov rcx, qword [rax]
cmp dword [rcx + 0xc], 0
jne 0x458117
mov qword [rax + 0x18], 0
jmp 0x45813c
mov rdx, qword [rax + 8]
mov ebx, dword [rcx]
mov rax, rdx
call fcn.00451da0
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx]
mov edx, dword [rdx + 0xc]
lea rdx, [rdx + rax]
lea rdx, [rdx + 1]
mov qword [rcx + 0x18], rdx
add rsp, 0x60
pop rbp
ret
call fcn.004584e0
add rsp, 0x60
pop rbp
ret
test rdx, rdx
jne 0x4581a5
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rcx
call fcn.00438be0
lea rax, [0x006be640]
mov ebx, 0x27
call fcn.00439460
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x38]
call fcn.00439460
call fcn.00438e20
call fcn.00438c40
lea rax, [0x006b1a50]
mov ebx, 9
nop dword [rax + rax]
call fcn.00437240
mov ebx, dword [rdx + 4]
mov rax, r11
call fcn.00451ec0
mov rcx, rax
mov rax, rbx
jmp 0x458156
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
mov byte [rsp + 0x11], cl
call fcn.004646a0
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
movzx ecx, byte [rsp + 0x11]
jmp fcn.00457f00