Function at 0x59fa50
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x118]
cmp eax, dword [ecx + 8]
jbe 0x59fee0
sub esp, 0x198
lea edi, [esp + 0x1a4]
xor eax, eax
call fcn.00468440
nop
lea edi, [esp + 0x50]
call fcn.00468478
mov ecx, dword [esp + 0x19c]
mov dword [esp], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
call sym.crypto_internal_edwards25519._Scalar_.bytes
mov ecx, dword [esp + 0xc]
cmp ecx, 0x1f
jbe 0x59fed5
mov edx, dword [esp + 8]
cmp byte [edx + 0x1f], 0x7f
ja 0x59febd
mov ebx, dword [esp + 0x1a0]
cmp ebx, 2
jb 0x59fea5
cmp ebx, 8
ja 0x59fe8d
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x98]
xor eax, eax
call fcn.00468440
lea edi, [esp + 0x70]
call fcn.00468476
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x59fb93
mov dword [esp + 0x2c], eax
lea ebp, [esp + eax*8 + 0x70]
lea edi, [esp + eax*8 + 0x74]
movzx ebx, byte [edx + esi]
movzx ecx, byte [edx + esi + 1]
mov dword [esp + 0x4c], ecx
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x4c]
shr ecx, 0x18
movzx eax, byte [edx + esi + 2]
mov dword [esp + 0x4c], eax
shr eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0x4c]
shl ecx, 0x10
or ecx, ebx
movzx ebx, byte [edx + esi + 3]
mov dword [esp + 0x4c], ebx
shr ebx, 8
or ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [edx + esi + 4]
or ecx, ebx
movzx ebx, byte [edx + esi + 5]
shl ebx, 8
or ecx, ebx
movzx ebx, byte [edx + esi + 6]
shl ebx, 0x10
or ebx, ecx
movzx ecx, byte [edx + esi + 7]
mov dword [ebp], eax
shl ecx, 0x18
or ecx, ebx
mov dword [edi], ecx
mov eax, dword [esp + 0x2c]
inc eax
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1a0]
cmp eax, 4
jge 0x59fbc4
mov esi, eax
shl esi, 3
cmp ecx, esi
jb 0x59fe86
mov edi, ecx
sub edi, esi
sub ebp, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
cmp edi, 7
ja 0x59fb02
jmp 0x59fe7a
mov ecx, ebx
mov edx, 1
shl edx, cl
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov eax, edx
mov edx, 1
shl edx, cl
neg ecx
mov esi, ebx
mov ebx, 1
shr ebx, cl
cmp ebp, 0x20
sbb ebp, ebp
and ebp, edx
cmp ecx, 0x20
sbb edx, edx
and ebx, edx
or ebx, ebp
mov dword [esp + 0x4c], ebx
cmp esi, 0x20
sbb edx, edx
and eax, edx
mov dword [esp + 0x20], eax
mov edx, eax
add eax, 0xffffffff
mov dword [esp + 0x1c], eax
mov ebp, ebx
adc ebx, 0xffffffff
mov dword [esp + 0x48], ebx
xor ecx, ecx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x59fc3e
mov edx, ebp
mov ebp, dword [esp + 0x4c]
mov edi, ecx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x1a0]
mov ecx, ebx
mov ebx, dword [esp + 0x48]
cmp ecx, 0x100
jae 0x59fe3e
mov dword [esp + 0x24], ecx
and ecx, 0x3f
mov dword [esp + 0x28], ecx
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edx, dword [esp + 0x24]
shr edx, 6
cmp esi, ecx
jbe 0x59fcca
cmp edx, 5
jae 0x59fe6e
lea edx, [esp + edx*8 + 0x70]
mov esi, dword [edx + 4]
mov dword [esp + 0x44], esi
mov edx, dword [edx]
shr edx, cl
shr esi, cl
lea ebp, [ecx - 0x20]
mov dword [esp + 0x40], ebp
mov ecx, ebp
mov ebx, dword [esp + 0x44]
shr ebx, cl
mov dword [esp + 0x3c], ebx
neg ecx
mov ebx, dword [esp + 0x44]
shl ebx, cl
mov ebp, dword [esp + 0x28]
cmp ebp, 0x20
sbb ebp, ebp
and edx, ebp
and esi, ebp
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 0x40]
cmp edx, 0x20
sbb edx, edx
mov ebp, dword [esp + 0x3c]
and ebp, edx
or ebp, ebx
jmp 0x59fd92
cmp edx, 5
jae 0x59fe62
mov dword [esp + 0x30], edi
lea esi, [esp + edx*8 + 0x70]
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
mov esi, dword [esi]
shr ebp, cl
mov dword [esp + 0x40], ebp
shr esi, cl
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebx, dword [esp + 0x44]
shr ebx, cl
neg ecx
mov ebp, dword [esp + 0x44]
shl ebp, cl
lea eax, [edx + 1]
cmp edi, 0x20
sbb edi, edi
and ebx, edi
cmp ecx, 0x20
sbb ecx, ecx
and ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x28]
cmp edx, 0x20
sbb edi, edi
and esi, edi
or ebp, esi
mov esi, edx
mov edx, dword [esp + 0x40]
and edx, edi
or ebx, ebp
cmp eax, 5
jae 0x59fe58
mov dword [esp + 0x44], edx
lea eax, [esp + ecx*8 + 0x78]
mov ebp, dword [eax]
mov dword [esp + 0x40], ebp
mov eax, dword [eax + 4]
lea ecx, [esi - 0x40]
neg ecx
mov dword [esp + 0x38], ecx
shl eax, cl
mov esi, ebp
shl ebp, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl esi, cl
neg ecx
mov edx, dword [esp + 0x40]
shr edx, cl
cmp edi, 0x20
sbb edi, edi
and esi, edi
mov edi, edx
mov edx, dword [esp + 0x38]
cmp edx, 0x20
sbb edx, edx
and eax, edx
and ebp, edx
or ebp, ebx
cmp ecx, 0x20
sbb edx, edx
and edi, edx
or edi, eax
or esi, edi
mov edx, dword [esp + 0x44]
or esi, edx
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
and esi, edx
and ebp, eax
add ebp, edi
mov ebx, dword [esp + 0x34]
adc esi, ebx
test ebp, 1
sete cl
and ecx, 1
test cl, cl
je 0x59fdd3
mov ebp, dword [esp + 0x24]
inc ebp
mov edx, dword [esp + 0x1a0]
mov ebx, ebp
mov ecx, edi
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
jmp 0x59fc25
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
shr ebx, 1
mov edi, edx
mov edx, dword [esp + 0x20]
shr edx, 1
shl ecx, 0x1f
or ecx, edx
cmp ebx, esi
seta dl
sete bl
cmp ebp, ecx
setb cl
and ebx, ecx
or edx, ebx
test dl, dl
je 0x59fe14
mov edx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + edx + 0x98], al
xchg ebp, eax
mov ebx, edx
xor ecx, ecx
mov edx, dword [esp + 0x20]
jmp 0x59fe2c
mov edx, dword [esp + 0x20]
sub ebp, edx
mov ebx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + ebx + 0x98], al
xchg ebp, eax
mov ecx, 1
mov ebp, edx
mov edx, dword [esp + 0x1a0]
add ebx, edx
xor esi, esi
jmp 0x59fc25
lea edi, [esp + 0x1a4]
lea esi, [esp + 0x98]
call fcn.00468710
add esp, 0x198
ret
mov ecx, 5
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, 5
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, 5
call sym.runtime.panicIndexU
mov eax, 7
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicSliceB
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x7269f0]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x7269e8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x7269e0]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, 0x1f
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_internal_edwards25519._Scalar_.nonAdjacentForm