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

Disassembly:
lea r12, [rsp - 0x128]
cmp r12, qword [r14 + 0x10]
jbe 0x541939
push rbp
mov rbp, rsp
sub rsp, 0x1a0
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1e8], r9
cmp r10, 1
jle 0x541925
nop
test rsi, rsi
jbe 0x541917
mov rdx, qword [rdi]
bt edx, 0
jae 0x5410d3
mov rdx, qword [rsp + 0x1b0]
nop
cmp rdx, 1
je 0x54109e
mov qword [rsp + 0x1e8], r9
mov qword [rsp + 0x1e0], r8
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1d8], rsi
mov qword [rsp + 0x1c8], rcx
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x1f0], r10
lea rax, [rdx + 0x3f]
shr rax, 6
mov qword [rsp + 0xd0], rax
call sym.math_big.getNat
mov qword [rsp + 0xf8], rax
mov rcx, qword [rax]
mov qword [rsp + 0xd8], rcx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x50], rdx
mov rbx, qword [rax + 0x10]
mov qword [rsp + 0x58], rbx
lea rdi, [rsp + 0x100]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c822
mov rbp, qword [rbp]
xor esi, esi
jmp 0x541120
nop
nop
test rcx, rcx
jne 0x5410be
lea rax, [0x0067bf80]
mov ebx, 1
mov rcx, rbx
call sym.runtime.makeslice
mov ecx, 1
mov qword [rax], 1
mov ebx, 1
add rsp, 0x1a0
pop rbp
ret
xor ebx, ebx
add rsp, 0x1a0
pop rbp
ret
mov qword [rsp + 0xa0], rsi
mov rax, qword [rsp + 0xd0]
call sym.math_big.getNat
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + rsi*8 + 0x100], rax
inc rsi
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
cmp rsi, 0x10
jl 0x5410de
mov r10, qword [rsp + 0x100]
mov r11, qword [r10 + 0x10]
mov r12, qword [0x008f8398]
mov r13, qword [0x008f8390]
cmp r12, r11
jg 0x541150
mov r10, qword [r10]
mov rsi, r12
jmp 0x541203
mov qword [rsp + 0x80], r12
mov qword [rsp + 0xf0], r13
cmp r12, 1
jne 0x5411b5
lea rax, [0x0067bf80]
mov ebx, 1
mov rcx, rbx
call sym.runtime.makeslice
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0xf0]
mov r10, rax
mov r12d, 1
mov r11d, 1
mov rax, qword [rsp + 0xf8]
jmp 0x541203
lea rcx, [r12 + 4]
mov qword [rsp + 0x48], rcx
lea rax, [0x0067bf80]
mov rbx, r12
call sym.runtime.makeslice
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
mov r13, qword [rsp + 0xf0]
mov r10, rax
mov r12, rsi
mov r11, qword [rsp + 0x48]
mov rax, qword [rsp + 0xf8]
cmp r12, rsi
mov r15, r12
cmovg r12, rsi
cmp r10, r13
je 0x541268
mov qword [rsp + 0x70], r11
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xe8], r10
shl r12, 3
mov rax, r10
mov rbx, r13
mov rcx, r12
call sym.runtime.memmove
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov r10, qword [rsp + 0xe8]
mov r11, qword [rsp + 0x70]
mov r15, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x100]
mov qword [r12 + 8], r15
mov qword [r12 + 0x10], r11
cmp dword [0x0098c4d0], 0
je 0x541293
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov r13, qword [r12]
mov qword [r11 + 8], r13
mov qword [r12], r10
mov rdx, qword [rsp + 0x108]
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov rdi, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov rdx, qword [rsp + 0x108]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp dword [0x0098c4d0], 0
je 0x5412f7
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r12, qword [rdx]
mov qword [r11 + 8], r12
mov qword [rdx], rax
mov eax, 2
nop
jmp 0x541311
mov qword [rdx], rax
mov rax, qword [rsp + 0xc8]
add rax, 2
cmp rax, 0x10
jge 0x54149d
mov rdx, rax
shr rax, 0x3f
add rax, rdx
sar rax, 1
cmp rax, 0x10
jae 0x54190d
mov qword [rsp + 0xc8], rdx
mov r9, qword [rsp + rax*8 + 0x100]
mov r10, qword [rsp + rdx*8 + 0x100]
mov qword [rsp + 0x188], r10
mov rax, qword [r10]
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
mov rdi, qword [r9]
mov rsi, qword [r9 + 8]
mov r8, qword [r9 + 0x10]
mov r9, qword [rsp + rdx*8 + 0x108]
mov qword [rsp + 0x180], r9
call sym.math_big.nat.sqr
mov rdx, qword [rsp + 0x188]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp dword [0x0098c4d0], 0
je 0x5413a5
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r10, qword [rdx]
mov qword [r11 + 8], r10
mov qword [rdx], rax
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov rdx, qword [rsp + 0x188]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp dword [0x0098c4d0], 0
je 0x5413e6
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r12, qword [rdx]
mov qword [r11 + 8], r12
mov qword [rdx], rax
mov rdx, qword [rsp + 0x180]
mov r12, qword [rdx]
mov r13, qword [rdx + 8]
mov r15, qword [rdx + 0x10]
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1d0]
mov r10, qword [rsp + 0x1d8]
mov r11, qword [rsp + 0x1e0]
mov rax, r12
mov rbx, r13
mov rcx, r15
call sym.math_big.nat.mul
mov rdx, qword [rsp + 0x180]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp dword [0x0098c4d0], 0
je 0x541453
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r10, qword [rdx]
mov qword [r11 + 8], r10
mov qword [rdx], rax
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov rdx, qword [rsp + 0x180]
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp dword [0x0098c4d0], 0
je 0x541302
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov r12, qword [rdx]
mov qword [r11 + 8], r12
jmp 0x541302
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rcx - 1]
test rdx, 0x3f
je 0x5414c8
mov rax, rcx
mov rcx, rdx
mov r12d, 1
shl r12, cl
lea rdx, [r12 - 1]
jmp 0x5414d2
mov rax, rcx
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1f0]
lea r12, [rcx - 1]
lea r13, [rax - 2]
shr r13, 6
cmp r13, r12
jge 0x5414f0
mov rbx, r13
jmp 0x5414f6
mov rbx, r13
mov r13, r12
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x88], rdx
nop
mov r12, qword [rsp + 0x1c8]
test r12, r12
je 0x54151e
mov rsi, qword [rsp + 0x1b8]
jmp 0x54156b
mov qword [rsp + 0x98], r13
lea rax, [0x0067bf80]
mov ebx, 1
mov rcx, rbx
call sym.runtime.makeslice
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x98]
mov rsi, rax
mov r12d, 1
mov rax, qword [rsp + 0x1b0]
mov qword [rsi], 1
mov r15, qword [rsp + 0x1e8]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0xd8]
xor r10d, r10d
mov r11d, 1
jmp 0x5415aa
dec r13
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x1b0]
test r13, r13
jl 0x5415ef
cmp rcx, r13
jbe 0x541905
mov rax, qword [r15 + r13*8]
nop dword [rax]
cmp r13, rbx
jne 0x5415c8
and rax, rdx
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xa8]
jmp 0x541784
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r11
mov qword [rsp + 0xe0], rsi
mov rcx, qword [rsp + 0xf8]
mov qword [rcx + 8], r8
mov qword [rcx + 0x10], rdi
cmp dword [0x0098c4d0], 0
je 0x541629
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov rdx, qword [rcx]
mov qword [r11 + 8], rdx
mov qword [rcx], r9
lea rax, [0x00905dc0]
lea rbx, [0x006cbee0]
call sym.sync._Pool_.Put
xor eax, eax
jmp 0x541672
mov rcx, qword [rsp + rax*8 + 0x100]
lea rdx, [rax + 1]
mov qword [rsp + 0xc8], rdx
lea rax, [0x00905dc0]
lea rbx, [0x006cbee0]
call sym.sync._Pool_.Put
mov rax, qword [rsp + 0xc8]
cmp rax, 0x10
jl 0x541643
mov rax, qword [rsp + 0xe0]
mov r11, qword [rsp + 0x60]
jmp 0x54168a
dec r11
test r11, r11
jle 0x541699
mov rsi, qword [rax + r11*8 - 8]
test rsi, rsi
je 0x541687
mov rdx, qword [rsp + 0x68]
nop
cmp r11, rdx
ja 0x5416b4
mov rbx, r11
mov rcx, rdx
add rsp, 0x1a0
pop rbp
ret
mov rcx, r11
call sym.runtime.panicSliceAcap
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r11
mov qword [rsp + 0xd8], rsi
shr rax, 0x3c
mov r13, qword [rsp + rax*8 + 0x100]
mov r15, qword [r13]
mov r10, qword [r13 + 8]
mov r13, qword [r13 + 0x10]
mov rax, r9
mov rbx, r8
mov rcx, rdi
mov rdi, rsi
mov rsi, r11
mov r8, r12
mov r9, r15
mov r11, r13
nop
call sym.math_big.nat.mul
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov rdx, qword [rsp + 0x90]
add rdx, 4
mov r12, qword [rsp + 0x78]
shl r12, 4
mov r13, qword [rsp + 0x98]
mov r15, qword [rsp + 0x1e8]
mov qword [rsp + 0x90], rdx
mov r10d, 1
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0xd8]
mov r11, rbx
mov rsi, rax
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd0]
mov rax, r12
mov r12, rcx
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x90]
cmp rdx, 0x40
jge 0x541597
mov qword [rsp + 0x78], rax
nop dword [rax + rax]
test r10b, r10b
je 0x5416bc
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0x198], rsi
mov rax, r9
mov rbx, r8
mov rcx, rdi
mov rdi, rsi
mov rsi, r11
mov r8, r12
call sym.math_big.nat.sqr
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x198]
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
call sym.math_big.nat.sqr
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov qword [rsp + 0x190], rax
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xb0], rcx
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call sym.math_big.nat.sqr
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
nop dword [rax]
call sym.math_big.nat.sqr
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov r9, qword [rsp + 0x1b0]
call sym.math_big.nat.trunc
mov r12, rcx
mov r11, rbx
mov rsi, rax
mov r8, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x78]
nop dword [rax + rax]
jmp 0x5416bc
mov rax, r13
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
xor eax, eax
mov rcx, rax
nop dword [rax]
call sym.runtime.panicIndex
lea rax, [0x0067b380]
lea rbx, [0x00757b10]
call sym.runtime.gopanic
nop
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
jmp sym.math_big.nat.expNNWindowed