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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x63e964
sub esp, 0x94
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00471d45
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 0x63e6d6
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x63e94b
mov eax, dword [esp + 0x4c]
add eax, 2
cmp eax, 2
jge 0x63e626
lea eax, [0x6ec1a0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x737551]
mov dword [eax], ecx
lea ecx, [0x7a4344]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0xbc]
movzx eax, byte [esp + 0x54]
test al, al
je 0x63e670
mov eax, dword [esp + 0x4c]
add eax, 2
lea ecx, [esp + 0x40]
cmp dword [ecx + 0x10], eax
jge 0x63e670
lea eax, [0x6ec1a0]
mov dword [esp], eax
call fcn.0040bc10
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x74230c]
mov dword [eax], ecx
lea ecx, [0x7a4344]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x63e6d6
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + 2]
mov ebp, dword [esp + 0x48]
cmp eax, ebx
jae 0x63e6c0
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, [0x6e06e0]
mov dword [esp + 0x10], eax
call fcn.0046cad0
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, [0x63eb30]
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 fcn.005a03d0
mov dword [esp + 0x7c], 0
lea eax, [0x63e970]
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 fcn.005a03d0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x63e78d
mov ecx, dword [esp + 0x44]
xor ebp, ebp
mov ebx, ecx
xor edx, edx
xor ecx, ecx
jmp 0x63e7b8
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jb 0x63e946
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 0x63e7dd
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
jne 0x63e8e9
jmp 0x63e8ec
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], edx
lea eax, [0x6e06e0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x38], 0
lea ecx, [0x6029e0]
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 fcn.00600780
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 0x63e8d1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
cmp ecx, eax
jne 0x63e8d1
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, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3ed0]
mov dword [esp + 4], eax
call fcn.0046ae10
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
lea eax, str.failed_to_construct_HKDF_label:__sinvalid_nested_repetition_operatorinvalid_or_unsupported_Perl_syntaxcrypto_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_des:_invalid_buffer_overlapcrypto_rc4:_invalid_buffer_overlapinvalid_padding_bits_in_BIT_STRINGchacha20:_wrong_HChaCha20_key_sizeGODEBUG_sys_cpu:_can_not_disable__crypto_md5:_invalid_hash_state_sizeencoding_hex:_odd_length_hex_stringSubscribeServiceChangeNotificationshttp:_server_closed_idle_connectionCONTINUATION_frame_with_stream_ID_02006_01_02T15:04:05.999999999Z07:00executable_file_not_found_in__PATH_network_dropped_connection_on_resettransport_endpoint_is_not_connected1776356839400250464677810668945312588817841970012523233890533447265625ryuFtoaFixed32_called_with_prec___9reflect.MakeSlice_of_non_slice_type___netscape_comm._corp.__dtd_html_____w3c__dtd_html_4.0_transitional_____webtechs__dtd_mozilla_html_2.0__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__errnotoo_many_Questions_to_pack___65535_file_type_does_not_support_deadlineunsupported_signature_algorithm:__vtls:_too_many_non_advancing_recordstls:_server_selected_an_invalid_PSKtls:_invalid_Kyber_server_key_sharemime:_bogus_characters_after___:__qhpack:_invalid_Huffman_encoded_datadynamic_table_size_update_too_largebigmod:_modulus_is_smaller_than_natx509:_malformed_extension_OID_fieldx509:_wrong_Ed25519_public_key_sizex509:_invalid_authority_info_accessmlkem768:_invalid_ciphertext_lengthflate:_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_buffercrypto_cipher:_input_not_full_blockshttp:_unexpected_EOF_reading_trailer_LastStreamID_v_ErrCode_v_Debug_qRoundTrip_retrying_after_failure:__vno_acceptable_authentication_methodsstrings.Builder.Grow:_negative_countstrings:_Join_output_length_overflowaccessing_a_corrupted_shared_libraryTime.UnmarshalBinary:_invalid_length444089209850062616169452667236328125ryuFtoaFixed64_called_with_prec___180123456789abcdefghijklmnopqrstuvwxyzmethod_ABI_and_value_ABI_dont_alignreflect:_NumField_of_non_struct_type___spyglass__dtd_html_2.0_extended_____w3o__dtd_w3_html_strict_3.0__en_____w3c__dtd_html_4.01_transitional__unexpected_EOF_in_attribute_selectorexpected_integer__but_didnt_find_itexpected_selector__found_EOF_insteadlfstack_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_fexpected_an_ECDSA_public_key__got__Tunsupported_SSLv2_handshake_receivedtls:_server_did_not_send_a_key_sharemalformed_MIME_header_initial_line:_invalid_pattern_syntax___after___:_no_assembly_implementation_availablex509:_zero_or_negative_DSA_parameterx509:_invalid_CRL_distribution_pointx5
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 fcn.004d28d0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x63e936
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0046ae10
call fcn.00471b90
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3ec8]
mov dword [esp + 4], eax
call fcn.0046ae10
nop
call fcn.004706b0
jmp fcn.0063e590