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

Disassembly:
mov ecx, dword [0x911770]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x60c7f4
sub esp, 0x94
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00471f15
mov ecx, dword [esp + 0xbc]
mov edx, ecx
rol cx, 8
nop
mov word [esp + 0x26], cx
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x60c566
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x60c7db
mov eax, dword [esp + 0x4c]
add eax, 2
cmp eax, 2
jge 0x60c4b6
lea eax, [0x6b2a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6f18bd]
mov dword [eax], ecx
lea ecx, [0x75790c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0xbc]
movzx eax, byte [esp + 0x54]
test al, al
je 0x60c500
mov eax, dword [esp + 0x4c]
add eax, 2
lea ecx, [esp + 0x40]
cmp dword [ecx + 0x10], eax
jge 0x60c500
lea eax, [0x6b2a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6fb85c]
mov dword [eax], ecx
lea ecx, [0x75790c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x60c566
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + 2]
mov ebp, dword [esp + 0x48]
cmp eax, ebx
jae 0x60c550
mov dword [esp + 0x30], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x6a6300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xbc]
movzx esi, word [esp + 0x26]
mov word [ebp + ecx], si
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebp
lea eax, [sym.crypto_tls._cipherSuiteTLS13_.expandLabel.func1]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], 1
mov byte [esp + 8], 0
lea eax, [esp + 0x80]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov dword [esp + 0x7c], 0
lea eax, [sym.crypto_tls._cipherSuiteTLS13_.expandLabel.func2]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], 1
mov byte [esp + 8], 0
lea eax, [esp + 0x70]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov eax, dword [esp + 0x40]
test eax, eax
je 0x60c61d
mov ecx, dword [esp + 0x44]
xor ebp, ebp
mov ebx, ecx
xor edx, edx
xor ecx, ecx
jmp 0x60c648
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jb 0x60c7d6
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x50]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
sub ecx, eax
add edx, ebx
xor eax, eax
xor ebx, ebx
test eax, eax
je 0x60c66d
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
jne 0x60c779
jmp 0x60c77c
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], edx
lea eax, [0x6a6300]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], 0
lea ecx, [sym.crypto.Hash.New_fm]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x98]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x34]
mov dword [esp], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
call sym.vendor_golang.org_x_crypto_hkdf.Expand
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call eax
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x60c761
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
cmp ecx, eax
jne 0x60c761
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ecx
add esp, 0x94
ret
lea eax, [0x6a6280]
mov dword [esp], eax
lea eax, [0x756e98]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
lea eax, str.failed_to_construct_HKDF_label:__sreflect:_Field_of_non_struct_type_reflect:_Field_index_out_of_boundsreflect:_string_index_out_of_range3552713678800500929355621337890625too_many_references:_cannot_spliceSetFileCompletionNotificationModesunexpected_runtime.netpoll_error:_crypto_rsa:_missing_public_modulusadding_nil_Certificate_to_CertPoolx509:_unknown_public_key_algorithmx509:_invalid_certificate_policies_s__q_is_excluded_by_constraint__qx509:_Ed25519_verification_failurex509:_unhandled_critical_extensioncrypto_aes:_invalid_buffer_overlapcrypto_des:_invalid_buffer_overlapcrypto_rc4:_invalid_buffer_overlapinvalid_padding_bits_in_BIT_STRINGchacha20:_wrong_HChaCha20_key_sizeGODEBUG_sys_cpu:_can_not_disable__http:_server_closed_idle_connectionCONTINUATION_frame_with_stream_ID_02006_01_02T15:04:05.999999999Z07:00executable_file_not_found_in__PATH_persistentalloc:_align_is_too_large_memory_classes_heap_released:bytesgreyobject:_obj_not_pointer_alignedmismatched_begin_end_of_activeSweepmheap.freeSpanLocked___invalid_freefailed_to_get_or_create_weak_handleattempt_to_clear_non_empty_span_setruntime:_close_polldesc_w_o_unblockruntime:_inconsistent_read_deadlineNtCreateWaitCompletionPacket_failedfindrunnable:_netpoll_with_spinningpidleput:_P_has_non_empty_run_queuetraceback_did_not_unwind_completelyruntime:_createevent_failed__errnoinvalid_utf8_payload_in_close_frameunsupported_signature_algorithm:__vtls:_too_many_non_advancing_recordstls:_server_selected_an_invalid_PSKtls:_invalid_Kyber_server_key_sharereflect.MakeSlice_of_non_slice_type1776356839400250464677810668945312588817841970012523233890533447265625ryuFtoaFixed32_called_with_prec___9mime:_bogus_characters_after___:__qhpack:_invalid_Huffman_encoded_datadynamic_table_size_update_too_largenetwork_dropped_connection_on_resettransport_endpoint_is_not_connectedfile_type_does_not_support_deadlineflate:_corrupt_input_before_offset_bigmod:_modulus_is_smaller_than_natx509:_malformed_extension_OID_fieldx509:_wrong_Ed25519_public_key_sizex509:_invalid_authority_info_accessmlkem768:_invalid_ciphertext_lengthcrypto_md5:_invalid_hash_state_sizetoo_many_Questions_to_pack___65535___must_separate_successive_digitsP224_point_is_the_point_at_infinityP256_point_is_the_point_at_infinityP384_point_is_the_point_at_infinityP521_point_is_the_point_at_infinitysuperfluous_leading_zeros_in_lengthchacha20:_output_smaller_than_inputtransform:_short_destination_bufferhttp:_unexpected_EOF_reading_trailer_LastStreamID_v_ErrCode_v_Debug_qRoundTrip_retrying_after_failure:__vno_acceptable_authentication_methodslfstack_node_allocated_from_the_heap__is_larger_than_maximum_page_size__runtime:_invalid_typeBitsBulkBarrieruncaching_span_but_s.allocCount__0_memory_classes_metadata_other:bytes_sched_pauses_stopping_other:secondsuser_arena_span_is_on_the_wrong_listruntime:_marked_free_object_in_span_runtime:_unblock_on_closing_polldescruntime:_inconsistent_write_deadlineUnable_to_determine_system_directoryruntime:_VirtualQuery_failed__errnoruntime:_sudog_with_non_nil_waitlinkruntime:_mcall_called_on_m__g0_stackstartm:_P_required_for_spinningtrue__is_not_Grunnable_or_Gscanrunnable_nruntime:_bad_notifyList_size___syncaccessed_data_from_freed_user_arena_runtime:_wrong_goroutine_in_newstackruntime:_invalid_pc_encoded_table_fTime.UnmarshalBinary:_invalid_lengthproxy:_failed_to_parse_port_number:_strings.Builder.Grow:_negative_countstrings:_Join_output_length_overflowexpected_an_ECDSA_public_key__got__Tunsupported_SSLv2_handshake_receivedtls:_server_did_not_send_a_key_sharemethod_ABI_and_value_ABI_dont_alignmalformed_MIME_header_initial_line:_444089209850062616169452667236328125ryuFtoaFixed64_called_with_prec___180123456789abcdefghijklmnopqrstuvwxyzaccessing_a_corrupted_shared_librarycrypto_sha1:_invalid_hash_state_sizereflect:_NumField_of_non_struct_typeno_assembly_implementation_availablex509:_zero_or_negative_DSA_parameterx509:_invalid_CRL_distribution_pointx509:_invalid_subject_key_identifierx509:_malformed_algorithm_identifiercrypto_cipher:_input_not_full_blockscrypto_sha512:_invalid_hash_functioninvalid_pa
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
test eax, eax
je 0x60c7c6
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.gopanic
call sym.runtime.panicSliceB
lea eax, [0x6a6280]
mov dword [esp], eax
lea eax, [0x756e90]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._cipherSuiteTLS13_.expandLabel