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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x413077
sub rsp, 0x38
mov qword [rsp + 0x30], rbp
lea rbp, [rsp + 0x30]
mov qword [rsp + 0x50], rcx
nop dword [rax]
test rbx, rbx
je 0x413063
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rax
movzx ecx, byte [rbx + 8]
test cl, 4
je 0x412db7
lea rax, [0x01091f41]
mov ebx, 0x15
call fcn.00439f00
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rax + 0x48]
mov rcx, qword [rdx]
mov esi, dword [rbx + 0xc]
lea rax, [rsp + 0x50]
mov rbx, rsi
call rcx
mov qword [rsp + 0x18], rax
mov rbx, qword [rsp + 0x48]
movzx ecx, byte [rbx + 8]
xor ecx, 4
mov byte [rbx + 8], cl
cmp qword [rbx + 0x10], 0
jne 0x412e2d
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rdx + 0x40]
mov rax, qword [rbx]
mov ecx, 1
call fcn.0040de80
cmp dword [0x01bfb600], 0
jne 0x412e10
mov rbx, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
jmp 0x412e28
mov rdi, qword [rsp + 0x48]
lea rdx, [rdi + 0x10]
mov rcx, rdi
mov rdi, rdx
nop
call fcn.0046d880
mov rbx, rcx
mov rax, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x40]
jmp 0x412e53
mov rax, rdx
call fcn.00410fa0
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x18]
mov rax, rcx
mov rdx, qword [rsp + 0x40]
movzx ecx, byte [rbx + 9]
mov esi, 1
shl rsi, cl
lea rcx, [rsi - 1]
and rcx, rax
cmp qword [rbx + 0x18], 0
je 0x412e8e
mov qword [rsp + 0x20], rcx
mov rax, rdx
call fcn.004133c0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
movzx esi, word [rdx + 0x52]
imul rcx, rsi
add rcx, qword [rbx + 0x10]
xor edi, edi
xor r8d, r8d
nop
jmp 0x412f1e
mov r11, r9
mov rcx, rdi
mov r9, r8
cmp qword [rbx + 0x18], 0
jne 0x412fa5
mov rsi, qword [rbx]
inc rsi
movzx r8d, byte [rbx + 9]
cmp rsi, 8
jle 0x412eec
mov rdi, rcx
mov ecx, r8d
mov r10d, 1
shl r10, cl
shr r10, 1
lea r12, [r10 + r10*2]
lea r10, [r10 + r12*4]
cmp r10, rsi
jb 0x412e34
jmp 0x412ef2
mov rdi, rcx
mov ecx, r8d
movzx esi, word [rbx + 0xa]
cmp cl, 0xf
jbe 0x412f00
mov ecx, 0xf
and ecx, 0xf
mov r8d, 1
shl r8d, cl
cmp si, r8w
jae 0x412e34
jmp 0x412fa8
mov rcx, r10
xor r9d, r9d
jmp 0x412f4c
mov r9, rcx
lea r10, [rcx + rsi]
lea r10, [r10 - 8]
mov r10, qword [r10]
test r10, r10
jne 0x412f1b
jmp 0x412ea2
lea r10, [r12 + 1]
mov rdi, rcx
mov r8, r9
mov rcx, r11
mov r9, r10
cmp r9, 8
jae 0x412f23
test byte [rcx], al
movzx r10d, byte [rcx + r9]
cmp r10b, 1
ja 0x412f7a
test rdi, rdi
mov r11, rcx
cmovne rcx, rdi
mov r12, r9
cmovne r9, r8
test r10b, r10b
jne 0x412f3b
jmp 0x412eab
mov r10, rcx
lea r11, [rcx + r9*8]
lea r11, [r11 + 8]
mov r11, qword [r11]
cmp qword [rsp + 0x50], r11
je 0x412f9d
mov r11, r10
mov r12, r9
mov rcx, rdi
mov r9, r8
jmp 0x412f3b
mov rsi, r10
mov rcx, r9
jmp 0x413011
mov rdi, rcx
test rdi, rdi
jne 0x412fd0
mov rax, rbx
mov rbx, rdx
mov rcx, r11
call fcn.0040f080
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov rdi, rax
xor r9d, r9d
mov rax, qword [rsp + 0x18]
shr rax, 0x38
cmp al, 5
jae 0x412fdb
add eax, 5
test byte [rdi], al
mov rcx, r9
and r9d, 7
mov byte [rdi + r9], al
mov rsi, rdi
lea rdi, [rdi + rcx*8]
lea rdi, [rdi + 8]
test byte [rdi], al
nop
mov r8, qword [rsp + 0x50]
cmp dword [0x01bfb600], 0
jne 0x413009
mov qword [rdi], r8
jmp 0x41300e
call fcn.0046da00
inc qword [rbx]
movzx edx, byte [rdx + 0x51]
imul rcx, rdx
movzx edx, byte [rbx + 8]
lea rax, [rcx + rsi]
lea rax, [rax + 0x48]
test dl, 4
jne 0x41304f
mov qword [rsp + 0x28], rax
lea rax, [0x01091f41]
mov ebx, 0x15
nop dword [rax + rax]
call fcn.00439f00
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
movzx ecx, byte [rbx + 8]
and ecx, 0xfffffffb
mov byte [rbx + 8], cl
mov rbp, qword [rsp + 0x30]
add rsp, 0x38
ret
lea rax, [0x00f3d740]
lea rbx, [0x014343f0]
call fcn.00439660
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0046b6c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00412d60