Function at 0x65bd20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x8e25d4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x65c0ab
sub esp, 0x70
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
call sym.crypto_hmac.New
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 0x18]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
lea edx, [ecx + eax - 1]
test eax, eax
je 0x65c0a5
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], edx
lea eax, [0x682220]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
cmp ecx, 0xffffffff
je 0x65bdb5
cdq
idiv ecx
jmp 0x65bdb7
neg eax
mov dword [esp + 0x20], eax
imul eax, ecx
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 4]
mov dword [esp + 0x6c], ebx
lea ebp, [0x686a60]
mov dword [esp], ebp
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
lea ecx, [0x686a60]
mov dword [esp], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, 1
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x68]
xor ebp, ebp
mov esi, dword [esp + 0x28]
mov edi, esi
jmp 0x65be38
mov eax, dword [esp + 0x34]
inc eax
mov ecx, eax
mov esi, ebx
mov eax, ebp
mov ebx, edx
mov ebp, dword [esp + 0x48]
mov edx, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x20]
cmp ecx, edi
jg 0x65bf98
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x84]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x88]
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x34]
mov ecx, eax
sar eax, 0x18
mov edx, dword [esp + 0x6c]
mov byte [edx], al
mov eax, ecx
sar ecx, 0x10
mov byte [edx + 1], cl
mov ecx, eax
sar eax, 8
mov byte [edx + 2], al
mov byte [edx + 3], cl
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x20]
mov ebp, dword [esp + 0x50]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov edx, eax
sub edx, ecx
cmp eax, edx
jb 0x65c09c
mov ebx, dword [esp + 0x10]
mov ebp, eax
sub eax, edx
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x18]
mov edi, esi
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
lea esi, [ebx + edx]
mov edx, ebx
mov ebx, dword [esp + 0x38]
cmp ebx, eax
jg 0x65bf51
mov eax, ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x64], edx
mov ebp, dword [esp + 0x58]
cmp ebp, esi
je 0x65bf91
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call sym.runtime.memmove
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
mov eax, 2
jmp 0x65bfdc
mov ecx, dword [esp + 0x90]
cmp ecx, edx
ja 0x65bfbc
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
add esp, 0x70
ret
call sym.runtime.panicSliceAcap
mov esi, dword [esp + 0x24]
inc esi
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
mov ebp, eax
mov ebx, edx
mov edx, dword [esp + 0x64]
mov eax, esi
mov esi, dword [esp + 0x5c]
mov esi, dword [esp + 0x8c]
cmp esi, eax
jl 0x65be21
mov dword [esp + 0x44], ebx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x44]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x50]
mov dword [esp], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x40]
xor esi, esi
jmp 0x65c087
movzx edi, byte [esi + ebx]
movzx ecx, byte [esi + eax]
xor edi, ecx
xchg edi, eax
mov byte [ebx + esi], al
xchg edi, eax
inc esi
mov ecx, dword [esp + 0x3c]
cmp esi, edx
jge 0x65bfc1
cmp esi, ebp
jb 0x65c073
mov eax, esi
mov ecx, ebp
call sym.runtime.panicIndex
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicdivide
nop
call sym.runtime.morestack_noctxt
jmp sym.golang.org_x_crypto_pbkdf2.Key