Function at 0x537c60
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x538086
sub rsp, 0x100
mov qword [rsp + 0xf8], rbp
lea rbp, [rsp + 0xf8]
mov qword [rsp + 0x110], rbx
test rcx, rcx
jbe 0x53807b
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x110], rbx
test byte [rax], al
mov rcx, qword [rbx]
nop
mov rdx, qword [0x00657cf0]
mov rsi, qword [0x00657cf8]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rsi
shl rcx, 1
mov rdx, rcx
and ecx, 0x7f
mov rsi, rcx
shr rcx, 6
neg rcx
mov qword [rsp + 0x68], rcx
add rsi, 0xffffffffffffff81
neg rsi
and rsi, rcx
not rcx
and rdx, rcx
and edx, 0x7f
or rdx, rsi
mov rcx, rdx
shr rdx, 1
and ecx, 1
add rcx, rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x18], rcx
call dbg.crypto/elliptic.p256SelectBase
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x108]
lea rcx, [rax + 0x20]
mov qword [rsp], rcx
mov qword [rsp + 8], 4
mov qword [rsp + 0x10], 8
mov rcx, qword [rsp + 0x68]
and ecx, 1
mov qword [rsp + 0x18], rcx
nop dword [rax]
call dbg.crypto/elliptic.p256NegCond
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x108]
mov qword [rax + 0x40], 1
movabs rcx, 0xffffffff00000000
mov qword [rax + 0x48], rcx
mov qword [rax + 0x50], 0xffffffffffffffff
mov edx, 0xfffffffe
mov qword [rax + 0x58], rdx
lea rdi, [rsp + 0x98]
lea rdi, [rdi - 0x20]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461f8b
mov rbp, qword [rbp]
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], 0xffffffffffffffff
mov qword [rsp + 0xf0], rdx
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x70]
mov esi, 1
mov edi, 5
jmp 0x537f6a
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x78], r8
lea rax, [rsp + 0x98]
mov qword [rsp], rax
sub rcx, rsi
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rsi, rcx
lea rcx, [r9 + rsi]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rdi
call dbg.crypto/elliptic.p256SelectBase
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x108]
mov qword [rsp], rax
mov qword [rsp + 8], 0xc
mov qword [rsp + 0x10], 0xc
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 0xc
mov qword [rsp + 0x28], 0xc
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], 8
mov qword [rsp + 0x40], 0xc
mov rcx, qword [rsp + 0x88]
and ecx, 1
mov qword [rsp + 0x48], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x50], rcx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x58], rdx
call dbg.crypto/elliptic.p256PointAddAffineAsm
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x90]
lea rsi, [rax + 1]
mov rax, qword [rsp + 0x78]
lea rdi, [rax + 6]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x80]
or rbx, rax
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
cmp rsi, 0x2b
jge 0x538042
cmp rdi, 0xc0
jae 0x537fd3
mov r8, rdi
shr rdi, 6
cmp rdx, rdi
jbe 0x538070
mov r9, qword [rcx + rdi*8]
mov r10, rcx
mov rcx, r8
shr r9, cl
lea r11, [rdi + 1]
nop
cmp rdx, r11
jbe 0x538065
and ecx, 0x3f
lea r11, [rcx - 0x40]
neg r11
cmp r11, 0x40
sbb r11, r11
mov rdi, qword [r10 + rdi*8 + 8]
mov rcx, r8
neg rcx
shl rdi, cl
and rdi, r11
add rdi, r9
and edi, 0x7f
jmp 0x537ff2
mov r8, rdi
shr rdi, 6
cmp rdx, rdi
jbe 0x53805a
mov rdi, qword [rcx + rdi*8]
mov r9, rcx
mov rcx, r8
shr rdi, cl
and edi, 0x7f
mov r10, r9
nop
mov rcx, qword [0x00657cf8]
mov r9, qword [0x00657cf0]
mov r11, rsi
shl rsi, 0xb
mov r12, rdi
shr rdi, 6
neg rdi
lea r13, [r12 - 0x7f]
neg r13
and r13, rdi
mov r15, rdi
not rdi
and r12, rdi
or r12, r13
mov rdi, r12
shr r12, 1
and edi, 1
add rdi, r12
cmp rcx, rsi
jae 0x537e1f
nop
jmp 0x538052
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, rsi
call dbg.runtime.panicSliceB
mov rax, rdi
mov rcx, rdx
call dbg.runtime.panicIndexU
mov rax, r11
mov rcx, rdx
call dbg.runtime.panicIndexU
mov rax, rdi
mov rcx, rdx
call dbg.runtime.panicIndexU
xor eax, eax
nop dword [rax]
call dbg.runtime.panicIndex
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp dbg.crypto/elliptic.(*p256Point).p256BaseMult