Function at 0x4c5900
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x4c5e46
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0x108], r9
mov rbx, qword [rsp + 0xd0]
nop word [rax + rax]
cmp rsi, rbx
jne 0x4c5e30
cmp r10, rbx
jne 0x4c5e30
mov r10, qword [rsp + 0xb8]
nop word [rax + rax]
cmp r10, rbx
jne 0x4c5e30
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x100], r8
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0x108], r9
mov r11, rbx
shl r11, 1
cmp rcx, r11
jl 0x4c59a0
jae 0x4c5a58
jmp 0x4c5e25
cmp r11, 1
jne 0x4c59f7
lea rax, [0x0051ce80]
mov ebx, 1
mov rcx, rbx
call sym.runtime.makeslice
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0xb8]
mov r11d, 1
mov ecx, 1
jmp 0x4c5a58
mov qword [rsp + 0x88], r11
lea rcx, [rbx + rbx]
lea rcx, [rcx + 4]
mov qword [rsp + 0x50], rcx
lea rax, [0x0051ce80]
mov rbx, r11
call sym.runtime.makeslice
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x90], rax
nop
test r11, r11
je 0x4c5abe
mov rbx, r11
shl rbx, 3
call sym.runtime.memclrNoHeapPointers
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0x108]
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x58]
xor edx, edx
xor r12d, r12d
jmp 0x4c5b20
mov rdx, qword [rsp + 0x68]
inc rdx
mov r13, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x108]
mov rdi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x60]
mov rsi, r13
mov r8, r15
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x58]
mov r12, rax
mov rax, qword [rsp + 0x90]
nop dword [rax + rax]
cmp rbx, rdx
jle 0x4c5cb0
lea r13, [rdx + rbx]
mov r15, qword [r9 + rdx*8]
cmp rcx, r13
jb 0x4c5e16
nop word [rax + rax]
cmp rdx, r13
ja 0x4c5e0b
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x78], r12
mov r9, rdx
shl rdx, 3
sub rcx, r9
mov qword [rsp + 0x80], rcx
mov r11, rcx
neg rcx
sar rcx, 0x3f
and rdx, rcx
lea rcx, [rax + rdx]
mov qword [rsp + 0x98], rcx
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r11
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x30], r15
call sym.math_big.addMulVVW.abi0
xorps xmm15, xmm15
mov r14, qword [0x00768248]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
cmp rax, rcx
jae 0x4c5e06
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rdx + rax*8]
mov rsi, qword [rsp + 0x98]
mov qword [rsp], rsi
mov rsi, qword [rsp + 0xd0]
mov qword [rsp + 8], rsi
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x10], rdi
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x18], rdi
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0x20], r8
mov r9, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r9
mov r10, qword [rsp + 0xc8]
imul rbx, r10
mov qword [rsp + 0x30], rbx
call sym.math_big.addMulVVW.abi0
xorps xmm15, xmm15
mov r14, qword [0x00768248]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rdx, rcx
lea rbx, [rdx + rax]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x88]
cmp rsi, rdi
jbe 0x4c5dfb
mov r8, qword [rsp + 0x90]
mov qword [r8 + rdi*8], rbx
cmp rcx, rdx
ja 0x4c5c9f
cmp rax, rbx
jbe 0x4c5ca9
mov eax, 1
jmp 0x4c5ac5
xor eax, eax
jmp 0x4c5ac5
test r12, r12
je 0x4c5d56
nop dword [rax]
cmp rbx, rcx
ja 0x4c5df0
cmp rbx, r11
ja 0x4c5de5
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
sub rcx, rbx
sub r11, rbx
mov rsi, rcx
neg rcx
shl rbx, 3
sar rcx, 0x3f
and rcx, rbx
add rcx, rax
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], rsi
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r10
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rcx
call sym.math_big.subVV.abi0
xorps xmm15, xmm15
mov r14, qword [0x00768248]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xd0]
jmp 0x4c5db3
cmp rbx, rcx
ja 0x4c5dd7
nop dword [rax + rax]
cmp rbx, r11
ja 0x4c5dcc
sub r11, rbx
mov rsi, rbx
sub rsi, rcx
mov rdi, rbx
shl rdi, 3
sar rsi, 0x3f
and rsi, rdi
lea rdi, [rax + rsi]
cmp rbx, r11
mov r8, rbx
cmovg r8, r11
test rsi, rsi
je 0x4c5db3
shl r8, 3
mov rbx, rdi
mov rcx, r8
call sym.runtime.memmove
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xd0]
cmp rbx, rcx
ja 0x4c5dc1
add rsp, 0xa0
pop rbp
ret
mov rdx, rcx
mov rcx, rbx
call sym.runtime.panicSliceAcap
mov rax, rbx
mov rcx, r11
call sym.runtime.panicSliceB
mov rdx, rcx
mov rcx, rbx
nop dword [rax]
call sym.runtime.panicSliceAcap
mov rax, rbx
mov rcx, r11
call sym.runtime.panicSliceB
mov rdx, rcx
mov rcx, rbx
call sym.runtime.panicSliceAcap
mov rax, rdi
mov rcx, rsi
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, r13
call sym.runtime.panicSliceB
mov rdx, rcx
mov rcx, r13
nop dword [rax]
call sym.runtime.panicSliceAcap
mov rdx, rcx
mov rcx, r11
call sym.runtime.panicSliceAcap
lea rax, [0x0051c740]
lea rbx, [0x0064a4e8]
nop
call sym.runtime.gopanic
nop
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
jmp sym.math_big.nat.montgomery