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

Disassembly:
mov ecx, dword [0x8ef630]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x609ea4
sub esp, 0x94
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00471cf5
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 0x609c16
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x609e8b
mov eax, dword [esp + 0x4c]
add eax, 2
cmp eax, 2
jge 0x609b66
lea eax, [0x6a0680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x6ddeec]
mov dword [eax], ecx
lea ecx, [0x7423cc]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0xbc]
movzx eax, byte [esp + 0x54]
test al, al
je 0x609bb0
mov eax, dword [esp + 0x4c]
add eax, 2
lea ecx, [esp + 0x40]
cmp dword [ecx + 0x10], eax
jge 0x609bb0
lea eax, [0x6a0680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6e7c8b]
mov dword [eax], ecx
lea ecx, [0x7423cc]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x609c16
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + 2]
mov ebp, dword [esp + 0x48]
cmp eax, ebx
jae 0x609c00
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, [0x6954a0]
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 0x609ccd
mov ecx, dword [esp + 0x44]
xor ebp, ebp
mov ebx, ecx
xor edx, edx
xor ecx, ecx
jmp 0x609cf8
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jb 0x609e86
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 0x609d1d
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
jne 0x609e29
jmp 0x609e2c
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], edx
lea eax, [0x6954a0]
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 0x609e11
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
cmp ecx, eax
jne 0x609e11
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, [0x695420]
mov dword [esp], eax
lea eax, [0x741cf0]
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:__s:_day_of_year_does_not_match_monthslice_bounds_out_of_range__:_x:_y_slice_bounds_out_of_range___x:_y:_out_of_memory_allocating_allArenas_memory_classes_heap_objects:bytesruntime.SetFinalizer:_cannot_pass_too_many_pages_allocated_in_chunk_mspan.ensureSwept:_m_is_not_lockedruntime:_source_value_is_too_largeVirtualQuery_for_stack_base_failedforEachP:_sched.safePointWait___0schedule:_spinning_with_local_workentersyscallblock_inconsistent_bp_entersyscallblock_inconsistent_sp_runtime:_g_is_running_but_p_is_notinvalid_timer_channel:_no_capacitytoo_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_1776356839400250464677810668945312588817841970012523233890533447265625ryuFtoaFixed32_called_with_prec___9reflect.MakeSlice_of_non_slice_typeunsupported_signature_algorithm:__vtls:_too_many_non_advancing_recordstls:_server_selected_an_invalid_PSKtls:_invalid_Kyber_server_key_sharemime:_bogus_characters_after___:__qpersistentalloc:_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__errnohpack:_invalid_Huffman_encoded_datadynamic_table_size_update_too_largenetwork_dropped_connection_on_resettransport_endpoint_is_not_connectedfile_type_does_not_support_deadlinebigmod:_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_flate:_corrupt_input_before_offset___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_methodsstrings.Builder.Grow:_negative_countstrings:_Join_output_length_overflow444089209850062616169452667236328125ryuFtoaFixed64_called_with_prec___180123456789abcdefghijklmnopqrstuvwxyzmethod_ABI_and_value_ABI_dont_alignexpected_an_ECDSA_public_key__got__Tunsupported_SSLv2_handshake_receivedtls:_server_did_not_send_a_key_shareTime.UnmarshalBinary:_invalid_lengthmalformed_MIME_header_initial_line:_lfstack_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_faccessing_a_corrupted_shared_libr
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 0x609e76
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, [0x695420]
mov dword [esp], eax
lea eax, [0x741ce8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._cipherSuiteTLS13_.expandLabel