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

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x60], rbp
lea rbp, [rsp + 0x60]
mov rdi, rax
or rax, rbx
or rax, rcx
nop word [rax + rax]
test rax, 7
jne 0x4158fb
cmp byte [0x011546d4], 0
je 0x41563a
nop
movabs rdx, 0x800000000000
lea rax, [rdx + rdi]
mov rdx, rax
shr rax, 0x16
shr rdx, 0x2a
cmp rdx, 0x40
jb 0x4154fe
xor r8d, r8d
jmp 0x41554e
lea r8, [0x01126558]
mov r8, qword [r8 + rdx*8]
test r8, r8
je 0x41554b
mov r9, rax
and rax, 0xfffff
mov r8, qword [r8 + rax*8]
nop dword [rax + rax]
test r8, r8
je 0x415543
mov rax, rdi
shr rdi, 0xd
and rdi, 0x1ff
mov r8, qword [r8 + rdi*8 + 0x20000]
mov rdi, rax
mov rax, r9
jmp 0x41554e
mov rax, r9
xor r8d, r8d
jmp 0x41554e
xor r8d, r8d
test r8, r8
je 0x41561c
mov sil, byte [r8 + 0x63]
nop dword [rax + rax]
cmp sil, 1
jne 0x415612
cmp qword [r8 + 0x18], rdi
ja 0x415612
cmp qword [r8 + 0x70], rdi
jbe 0x415612
mov rsi, qword [r14 + 0x30]
mov rsi, qword [rsi + 0xa0]
test byte [rsi], al
cmp rdx, 0x40
jae 0x4158ee
lea r8, [0x01126558]
mov rdx, qword [r8 + rdx*8]
test byte [rdx], al
mov r8, rax
and rax, 0xfffff
mov rdx, qword [rdx + rax*8]
test rdx, rdx
je 0x4155da
mov r9, rdi
shr rdi, 5
and rdi, 0x1ffff
lea r10, [rdx + rdi]
mov r11, r9
shr r9, 3
and r9, 3
add rdx, 0x1ffff
jmp 0x4155e8
mov r11, rdi
xor r8d, r8d
xor r9d, r9d
xor edx, edx
xor r10d, r10d
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x58], rsi
test rbx, rbx
jne 0x415606
xor eax, eax
jmp 0x415801
mov qword [rsp + 0x78], rbx
xor eax, eax
jmp 0x4156f3
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov rdx, qword [0x010fc5e8]
test rdx, rdx
je 0x415631
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x415636
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x415647
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
inc rax
cmp rdx, rax
jle 0x415685
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xd0]
cmp rdi, r10
jb 0x415644
nop dword [rax]
cmp qword [r9 + 0xd8], rdi
jbe 0x415644
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x1e8]
call fcn.00415b20
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov rdx, qword [0x010fc5e8]
test rdx, rdx
je 0x41569a
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
jmp 0x41569f
xor edx, edx
xor r8d, r8d
xor eax, eax
jmp 0x4156a6
inc rax
cmp rdx, rax
jle 0x4156e5
mov r9, qword [r8 + rax*8]
mov r10, qword [r9 + 0xe0]
cmp rdi, r10
jb 0x4156a3
nop dword [rax + rax]
cmp qword [r9 + 0xe8], rdi
jbe 0x4156a3
mov rax, rdi
sub rdi, r10
mov rsi, qword [r9 + 0x1f8]
call fcn.00415b20
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
add rax, 8
cmp rcx, rax
jbe 0x4157f3
mov qword [rsp + 0x38], rax
movzx r12d, byte [r10]
bt r12d, r9d
jae 0x415796
lea r12, [rax + r11]
lea r13, [rax + rbx]
mov r15, qword [rsi + 0x16c0]
mov r12, qword [r12]
mov r13, qword [r13]
mov qword [r15], r12
mov qword [r15 + 8], r13
mov r12, qword [rsi + 0x16c0]
add r12, 0x10
mov qword [rsi + 0x16c0], r12
nop
cmp qword [rsi + 0x16c8], r12
jne 0x415796
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x2c], r8d
xor eax, eax
xor ebx, ebx
call fcn.00430040
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x28]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
cmp r9d, 3
jae 0x4157a5
inc r9d
nop
jmp 0x4156ef
cmp rdx, r10
je 0x4157b5
inc r10
xor r9d, r9d
jmp 0x4156ef
mov rax, r10
mov ebx, r9d
mov ecx, r8d
mov rdi, rdx
call fcn.00415280
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r8d, ecx
mov r9d, ebx
mov rdx, rdi
mov r10, rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
jmp 0x4156ef
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
ret
add rax, 8
cmp rcx, rax
jbe 0x4157f3
mov qword [rsp + 0x30], rax
movzx r12d, byte [r10]
bt r12d, r9d
jae 0x415893
lea r12, [rax + r11]
mov r13, qword [rsi + 0x16c0]
mov r12, qword [r12]
mov qword [r13], r12
mov qword [r13 + 8], 0
mov r12, qword [rsi + 0x16c0]
add r12, 0x10
mov qword [rsi + 0x16c0], r12
cmp qword [rsi + 0x16c8], r12
jne 0x415893
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x28], r9d
xor eax, eax
xor ebx, ebx
call fcn.00430040
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x2c]
mov r9d, dword [rsp + 0x28]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x40]
cmp r9d, 3
jae 0x4158a5
inc r9d
nop dword [rax]
jmp 0x4157fd
cmp rdx, r10
je 0x4158b5
inc r10
xor r9d, r9d
jmp 0x4157fd
mov rax, r10
mov ebx, r9d
mov ecx, r8d
mov rdi, rdx
call fcn.00415280
mov rsi, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r8d, ecx
mov r9d, ebx
mov rdx, rdi
mov r10, rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
jmp 0x4157fd
mov rax, rdx
mov ecx, 0x40
call fcn.00465b80
lea rax, [0x00ad67ef]
mov ebx, 0x28
call fcn.00437b60
nop
int3