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

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x5f371e
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xe0], rax
lea rdx, [rbx + rdi*2]
inc rdx
mov qword [rsp + 0x80], rdx
lea rax, [0x00667c00]
mov rcx, rdx
nop
call fcn.0044a620
mov rbx, qword [rsp + 0xe0]
cmp rax, rbx
je 0x5f2fef
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xe8]
call fcn.00466460
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x80]
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x5f301a
mov rcx, r11
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x64], esi
cmp rbx, rcx
jle 0x5f310c
movzx r10d, byte [r8 + rcx]
cmp r10d, 0x80
jge 0x5f303f
lea r11, [rcx + 1]
jmp 0x5f308f
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0xb0], rax
mov rax, r8
call fcn.0045d100
mov rdx, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x78]
mov r10d, eax
mov r11, rbx
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf8]
cmp r10d, 0x80
jge 0x5f3105
inc r9
nop dword [rax + rax]
cmp rdx, r9
jae 0x5f30f4
mov dword [rsp + 0x48], r10d
mov qword [rsp + 0xa0], r11
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0xf0]
mov r10d, dword [rsp + 0x48]
mov r11, qword [rsp + 0xa0]
mov r9, rbx
mov rdx, rcx
mov rbx, qword [rsp + 0xf8]
mov byte [r9 + rax - 1], r10b
inc esi
nop dword [rax + rax]
jmp 0x5f3017
inc edi
jmp 0x5f3017
test esi, esi
jle 0x5f3153
inc r9
cmp rdx, r9
jae 0x5f314d
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x00667c00]
call fcn.0044a700
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0xf0]
mov r9, rbx
mov rdx, rcx
mov rbx, qword [rsp + 0xf8]
mov byte [r9 + rax - 1], 0x2d
mov ecx, esi
mov r10d, pe_nt_image_headers64
xor r11d, r11d
mov r12d, 0x48
jmp 0x5f316e
lea r11d, [r10 + 1]
lea r10d, [r13 + 1]
test edi, edi
je 0x5f31df
mov dword [rsp + 0x44], edi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], rdx
mov dword [rsp + 0x60], r12d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], r11d
xor r13d, r13d
mov r15d, 0x7fffffff
jmp 0x5f320c
mov r13d, r15d
sub r15d, r10d
lea r10d, [rsi + 1]
movsxd r15, r15d
movsxd r10, r10d
imul r15, r10
movsxd r10, r11d
add r10, 0xffffffff80000001
neg r10
cmp r10, r15
jl 0x5f3291
lea r10d, [r15 + r11]
xor r11d, r11d
jmp 0x5f3301
mov rbx, rax
mov rcx, r9
xor eax, eax
call fcn.0044e8e0
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
nop
ret
mov r15d, edx
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x74], r15d
cmp rbx, r13
jle 0x5f31a9
movzx edx, byte [r8 + r13]
nop dword [rax + rax]
cmp edx, 0x80
jge 0x5f322d
inc r13
jmp 0x5f327a
mov rax, r8
mov rcx, r13
call fcn.0045d100
mov ecx, dword [rsp + 0x64]
mov esi, dword [rsp + 0x58]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x74]
mov edx, eax
mov r13, rbx
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf8]
cmp r15d, edx
jle 0x5f3289
nop
cmp r10d, edx
jle 0x5f3201
mov edx, r15d
jmp 0x5f3201
lea rax, [0x00696540]
call fcn.0040da20
mov rcx, qword [rsp + 0xf8]
mov qword [rax + 8], rcx
cmp dword [0x00918a90], 0
jne 0x5f32bf
mov rdx, qword [rsp + 0xf0]
mov qword [rax], rdx
jmp 0x5f32cf
mov rdi, rax
mov rdx, qword [rsp + 0xf0]
call fcn.00465720
mov qword [rax + 0x18], 2
lea rdx, [0x006b8661]
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x0072ed60]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
nop
ret
cmp rbx, r11
jle 0x5f3166
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x5c], r10d
movzx r15d, byte [r8 + r11]
cmp r15d, 0x80
jge 0x5f332f
inc r11
jmp 0x5f33a0
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xc0], rax
mov rax, r8
mov rcx, r11
call fcn.0045d100
mov ecx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x90]
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x68]
mov r13d, dword [rsp + 0x74]
mov r15d, eax
mov r11, rbx
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xf8]
nop dword [rax + rax]
cmp r15d, r13d
jge 0x5f33b6
inc r10d
test r10d, r10d
jge 0x5f3301
jmp 0x5f3510
jg 0x5f3301
mov qword [rsp + 0x88], r11
mov r15d, r10d
mov r10d, 0x24
mov dword [rsp + 0x54], r10d
mov r10d, r15d
jmp 0x5f35aa
nop word [rax + rax]
cmp r10d, 0x1a
jae 0x5f33ec
lea r8d, [r10 + 0x61]
jmp 0x5f33fe
lea r8d, [r10 - 0x1a]
cmp r8d, 0xa
jae 0x5f36ef
lea r8d, [r10 + 0x16]
inc r9
cmp rdx, r9
jae 0x5f3452
mov byte [rsp + 0x42], r8b
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x00667c00]
nop dword [rax]
call fcn.0044a700
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
movzx r8d, byte [rsp + 0x42]
mov r11, qword [rsp + 0x88]
mov r15d, dword [rsp + 0x5c]
mov r9, rbx
mov rdx, rcx
mov ecx, dword [rsp + 0x64]
mov rbx, qword [rsp + 0xf8]
mov byte [r9 + rax - 1], r8b
cmp esi, ecx
jne 0x5f3475
movsxd r8, r15d
mov r10d, 0xbb3ee722
imul r10, r8
sar r10, 0x29
sar r8, 0x3f
sub r10d, r8d
jmp 0x5f3483
mov r8d, r15d
shr r15d, 0x1f
lea r10d, [r15 + r8]
sar r10d, 1
cmp esi, 0xffffffff
je 0x5f36ea
lea r8d, [rsi + 1]
mov rsi, rax
mov eax, r10d
mov r12, rdx
cmp r8d, 0xffffffff
je 0x5f34a5
cdq
idiv r8d
jmp 0x5f34a9
neg eax
xor edx, edx
lea edx, [r10 + rax]
xor eax, eax
jmp 0x5f36d3
lea r10d, [rdx + rdx*8]
nop dword [rax + rax]
cmp edx, 0xffffffda
je 0x5f36e5
shl r10d, 2
lea r13d, [rdx + 0x26]
mov edx, eax
mov eax, r10d
mov r10d, edx
cmp r13d, 0xffffffff
je 0x5f34e5
cdq
idiv r13d
jmp 0x5f34e9
neg eax
xor edx, edx
dec edi
lea r13d, [r10 + rax]
xor r10d, r10d
mov rdx, r12
mov rax, rsi
mov esi, r8d
mov r8, qword [rsp + 0xf0]
mov r12d, r13d
mov r13d, dword [rsp + 0x74]
jmp 0x5f3301
lea rax, [0x00696540]
call fcn.0040da20
mov rcx, qword [rsp + 0xf8]
mov qword [rax + 8], rcx
cmp dword [0x00918a90], 0
jne 0x5f353e
mov rdx, qword [rsp + 0xf0]
mov qword [rax], rdx
jmp 0x5f354e
mov rdi, rax
mov rdx, qword [rsp + 0xf0]
call fcn.00465720
mov qword [rax + 0x18], 2
lea rdx, [0x006b8661]
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x0072ed60]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov byte [r9 + r11 - 1], dl
lea edx, [r8 + 0x24]
mov r8, qword [rsp + 0xf0]
mov r13d, dword [rsp + 0x74]
mov dword [rsp + 0x54], edx
mov rdx, r10
mov r10d, eax
mov rax, r11
mov r11, qword [rsp + 0x88]
mov r13d, dword [rsp + 0x54]
sub r13d, r12d
mov r8d, dword [rsp + 0x54]
cmp r8d, r12d
jg 0x5f35c4
mov r13d, 1
jmp 0x5f35e0
lea r11d, [r12 + 0x1a]
cmp r8d, r11d
mov r11d, 0x1a
cmovge r13d, r11d
mov r11, qword [rsp + 0x88]
nop
cmp r10d, r13d
jl 0x5f33da
sub r10d, r13d
lea r11d, [r13 - 0x24]
neg r11d
test r11d, r11d
je 0x5f3718
mov qword [rsp + 0xb8], rax
mov eax, r10d
mov r10, rdx
cmp r11d, 0xffffffff
je 0x5f3616
cdq
idiv r11d
jmp 0x5f361a
neg eax
xor edx, edx
lea r11d, [rdx + r13]
nop
cmp r11d, 0x1a
jae 0x5f362e
add edx, 0x61
add edx, r13d
jmp 0x5f3648
lea r11d, [rdx - 0x1a]
add r11d, r13d
cmp r11d, 0xa
jae 0x5f3705
lea r11d, [rdx + 0x16]
lea edx, [r13 + r11]
inc r9
cmp r10, r9
jb 0x5f365d
mov r11, qword [rsp + 0xb8]
jmp 0x5f357f
mov dword [rsp + 0x4c], eax
mov byte [rsp + 0x43], dl
mov rax, qword [rsp + 0xb8]
mov rbx, r9
mov rcx, r10
mov edi, 1
lea rsi, [0x00667c00]
nop
call fcn.0044a700
movzx edx, byte [rsp + 0x43]
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x5c]
mov r9, rbx
mov r11, rax
mov r10, rcx
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x64]
mov rbx, qword [rsp + 0xf8]
jmp 0x5f357f
movsxd rdx, edx
mov r10d, 0xea0ea0eb
imul rdx, r10
sar rdx, 0x25
add eax, 0x24
cmp edx, 0x1c7
jg 0x5f36bf
nop dword [rax + rax]
jmp 0x5f34b4
call fcn.00434f20
call fcn.00434f20
lea rax, [0x00667a40]
lea rbx, [0x0072e570]
nop dword [rax]
call fcn.00436260
lea rax, [0x00667a40]
lea rbx, [0x0072e570]
call fcn.00436260
call fcn.00434f20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.005f2f60