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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x657171
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x108], rdi
lea rdx, [rbx + rdi*2]
lea rdx, [rdx + 1]
mov qword [rsp + 0x80], rdx
lea rax, [0x006bb680]
mov rcx, rdx
call fcn.0044a940
mov rbx, qword [rsp + 0xf0]
cmp rax, rbx
je 0x656a8f
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xf8]
call fcn.00466860
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x80]
xor ecx, ecx
xor esi, esi
xor edi, edi
jmp 0x656aba
mov rcx, r11
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x64], esi
cmp rbx, rcx
jle 0x656bac
movzx r10d, byte [r8 + rcx]
cmp r10d, 0x80
jge 0x656adf
lea r11, [rcx + 1]
jmp 0x656b2f
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0x78], r9
mov qword [rsp + 0xb0], rax
mov rax, r8
call fcn.0045d080
mov rdx, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0x78]
mov r10d, eax
mov r11, rbx
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x108]
cmp r10d, 0x80
jge 0x656ba5
inc r9
nop dword [rax + rax]
cmp rdx, r9
jae 0x656b94
mov dword [rsp + 0x48], r10d
mov qword [rsp + 0xa0], r11
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0x100]
mov r10d, dword [rsp + 0x48]
mov r11, qword [rsp + 0xa0]
mov r9, rbx
mov rdx, rcx
mov rbx, qword [rsp + 0x108]
mov byte [r9 + rax - 1], r10b
inc esi
nop dword [rax + rax]
jmp 0x656ab7
inc edi
jmp 0x656ab7
test esi, esi
jle 0x656bf3
inc r9
cmp rdx, r9
jae 0x656bed
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov esi, dword [rsp + 0x64]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0x100]
mov r9, rbx
mov rdx, rcx
mov rbx, qword [rsp + 0x108]
mov byte [r9 + rax - 1], 0x2d
mov ecx, esi
mov r10d, pe_nt_image_headers64
xor r11d, r11d
mov r12d, 0x48
jmp 0x656c0e
lea r11d, [r10 + 1]
lea r10d, [r13 + 1]
test edi, edi
je 0x656c71
mov dword [rsp + 0x44], edi
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xb0], rax
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 0x656c9d
mov r13d, r15d
sub r15d, r10d
lea r10d, [rsi + 1]
imul r10d, r15d
add r10d, r11d
nop word [rax + rax]
test r10d, r10d
jl 0x656d19
xor r11d, r11d
jmp 0x656d80
mov rbx, rax
mov rcx, r9
xor eax, eax
call fcn.0044ec00
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov r15d, edx
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x74], r15d
cmp rbx, r13
jle 0x656c49
movzx edx, byte [r8 + r13]
cmp edx, 0x80
jge 0x656cb9
inc r13
jmp 0x656d07
mov rax, r8
mov rcx, r13
nop
call fcn.0045d080
mov ecx, dword [rsp + 0x64]
mov esi, dword [rsp + 0x58]
mov edi, dword [rsp + 0x44]
mov r8, qword [rsp + 0x100]
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 + 0x108]
cmp r15d, edx
jle 0x656d11
cmp r10d, edx
jle 0x656c92
mov edx, r15d
jmp 0x656c92
movups xmmword [rsp + 0xd0], xmm15
mov rax, r8
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rax, [0x007242ea]
mov ebx, 0x1b
lea rcx, [rsp + 0xd0]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004c2160
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
cmp rbx, r11
jle 0x656c06
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 0x656dae
inc r11
jmp 0x656e1a
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xc0], rax
mov rax, r8
mov rcx, r11
call fcn.0045d080
mov ecx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x90]
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
mov r8, qword [rsp + 0x100]
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 + 0x108]
cmp r15d, r13d
jge 0x656e30
inc r10d
test r10d, r10d
jge 0x656d80
jmp 0x656f79
jg 0x656d80
mov qword [rsp + 0x88], r11
mov r15d, r10d
mov r10d, 0x24
mov dword [rsp + 0x54], r10d
mov r10d, r15d
jmp 0x657008
cmp r10d, 0x1a
jae 0x656e62
add r10d, 0x61
nop
jmp 0x656e74
lea r12d, [r10 - 0x1a]
cmp r12d, 0xa
jae 0x657145
add r10d, 0x16
inc r9
cmp rdx, r9
jae 0x656ecd
mov byte [rsp + 0x42], r10b
mov rbx, r9
mov rcx, rdx
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
mov r8, qword [rsp + 0x100]
movzx r10d, 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 + 0x108]
mov byte [r9 + rax - 1], r10b
cmp esi, ecx
jne 0x656ef0
movsxd r10, r15d
mov r12d, 0xbb3ee722
imul r12, r10
sar r12, 0x29
sar r10, 0x3f
sub r12d, r10d
jmp 0x656f00
mov r10d, r15d
shr r15d, 0x1f
lea r12d, [r15 + r10]
sar r12d, 1
nop
cmp esi, 0xffffffff
je 0x657140
lea r10d, [rsi + 1]
mov rsi, rax
mov eax, r12d
mov r13, rdx
cmp r10d, 0xffffffff
je 0x656f22
cdq
idiv r10d
jmp 0x656f26
neg eax
xor edx, edx
lea edx, [r12 + rax]
xor eax, eax
jmp 0x65712a
lea r12d, [rdx + rdx*8]
cmp edx, 0xffffffda
je 0x657137
shl r12d, 2
lea r15d, [rdx + 0x26]
mov edx, eax
mov eax, r12d
mov r12d, edx
cmp r15d, 0xffffffff
je 0x656f5a
cdq
idiv r15d
jmp 0x656f5e
neg eax
xor edx, edx
dec edi
add r12d, eax
mov rdx, r13
mov rax, rsi
mov esi, r10d
mov r13d, dword [rsp + 0x74]
xor r10d, r10d
jmp 0x656d80
movups xmmword [rsp + 0xd0], xmm15
mov rax, r8
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
lea rax, [0x007242ea]
mov ebx, 0x1b
lea rcx, [rsp + 0xd0]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004c2160
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov byte [r8 + r9 - 1], dl
mov edx, dword [rsp + 0x54]
add edx, 0x24
mov r13d, dword [rsp + 0x74]
mov dword [rsp + 0x54], edx
mov rdx, r10
mov r10d, eax
mov rax, r9
mov r9, r8
mov r8, qword [rsp + 0x100]
mov r13d, dword [rsp + 0x54]
sub r13d, r12d
cmp r13d, 1
jge 0x65701e
mov r13d, 1
jmp 0x657034
cmp r13d, 0x1a
mov r8d, 0x1a
cmovg r13d, r8d
mov r8, qword [rsp + 0x100]
cmp r10d, r13d
jl 0x656e54
sub r10d, r13d
lea r8d, [r13 - 0x24]
neg r8d
test r8d, r8d
je 0x65716b
mov qword [rsp + 0xb8], rax
mov eax, r10d
mov r10, rdx
nop
cmp r8d, 0xffffffff
je 0x65706c
cdq
idiv r8d
jmp 0x657070
neg eax
xor edx, edx
lea r8d, [rdx + r13]
cmp r8d, 0x1a
jae 0x657083
lea edx, [rdx + r13]
lea edx, [rdx + 0x61]
jmp 0x65709c
lea r8d, [rdx + r13]
lea r8d, [r8 - 0x1a]
cmp r8d, 0xa
jae 0x657158
lea edx, [rdx + r13]
lea edx, [rdx + 0x16]
lea r8, [r9 + 1]
cmp r10, r8
jb 0x6570b2
mov r9, qword [rsp + 0xb8]
jmp 0x656fdf
mov dword [rsp + 0x4c], eax
mov byte [rsp + 0x43], dl
mov rax, qword [rsp + 0xb8]
mov rbx, r8
mov rcx, r10
mov edi, 1
lea rsi, [0x006bb680]
call fcn.0044aa20
movzx edx, byte [rsp + 0x43]
mov esi, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x70]
mov r11, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x5c]
mov r8, rbx
mov r9, rax
mov r10, rcx
mov eax, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x64]
mov rbx, qword [rsp + 0x108]
jmp 0x656fdf
movsxd rdx, edx
mov r12d, 0xea0ea0eb
imul rdx, r12
sar rdx, 0x25
add eax, 0x24
cmp edx, 0x1c7
jg 0x657116
jmp 0x656f31
call fcn.00435240
nop dword [rax]
call fcn.00435240
lea rax, [0x006bb4c0]
lea rbx, [0x007f0be0]
call fcn.00436580
lea rax, [0x006bb4c0]
lea rbx, [0x007f0be0]
call fcn.00436580
call fcn.00435240
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop
jmp fcn.00656a00