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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x61dcc6
sub esp, 0xac
mov eax, 0
mov dword [esp + 0xa8], eax
mov byte [esp + 0x2b], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
mov edx, dword [edx + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xc], ecx
call edx
movzx eax, byte [esp + 0x18]
test al, al
je 0x61da93
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x61d440
lea eax, [0x6aca64]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xc4]
mov esi, dword [ebx + 0x10]
test byte [esi], al
lea edi, [esp + 0x60]
call fcn.0046f4f4
lea edi, [esp]
lea esi, [esp + 0x60]
call fcn.0046f4f4
call sym.github.com_armon_go_socks5.AddrSpec.Address
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov edx, dword [esp + 0x4c]
mov ebx, dword [edx]
mov ebp, dword [esp + 0x38]
mov dword [esp], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 4], ebp
lea ebp, str.tcpintnil____SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecUTCEET0001CATWATEATGMTHSTHDT_03_04_05ESTCSTCDTMSTMDT_02EDTASTADTPSTPDTNSTNDT06030407IST0908IDT12PKT11KST05JST10_01_11_12_08_0913CETBSTMSK_0614_mStdDlt125625NaNcgodnsudpftpssh::1setkeynew443GETagevia200404...EOFmapptrfinobjgc__:_gp___in__n___n_____P__MPC___end____:_npc__G_:_TTLMD4MD5RSADSAURIadxaesshaavxfma____25Via204206304400500
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
test eax, eax
je 0x61d715
mov dword [esp + 0x3c], eax
mov dword [esp + 0xa0], ecx
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x693054]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x61d53f
mov eax, 5
jmp 0x61d579
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
lea eax, [0x6980eb]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x61d574
mov eax, 3
jmp 0x61d579
mov eax, 4
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x61d5a8
mov byte [esp + 0x2a], al
mov eax, dword [ecx + 4]
lea ecx, [0x854990]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov ecx, eax
movzx eax, byte [esp + 0x2a]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov byte [esp + 8], al
mov dword [esp + 0xc], 0
call sym.github.com_armon_go_socks5.sendReply
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x61d65e
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
test eax, eax
je 0x61d5f4
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
lea eax, [0x699187]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xac
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0xc]
lea ecx, [0x66bda0]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x61d6a7
mov eax, dword [eax + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x84], eax
lea eax, [0x69919f]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xac
ret
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], edx
test byte [edx], al
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea eax, [sym.github.com_armon_go_socks5._Server_.handleConnect.deferwrap1]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
lea eax, [esp + 0x54]
mov dword [esp + 0xa8], eax
mov byte [esp + 0x2b], 1
mov eax, dword [edx + 0x14]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
lea ecx, [0x6f759c]
cmp eax, ecx
jne 0x61dc9d
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], eax
lea ecx, [0x6798a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov edi, dword [esp + 4]
mov dword [esp + 0xa4], edi
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebp, eax
xor eax, eax
call fcn.0046f01a
mov eax, dword [0x899508]
test eax, eax
jne 0x61d7d3
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa4]
jmp 0x61d7ee
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x9c]
mov dword [edi], eax
mov ecx, dword [esp + 0xa4]
mov esi, dword [ecx + 8]
mov dword [edi + 4], esi
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebp
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x61d825
mov ecx, dword [eax + 4]
lea edx, [0x8549a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov byte [esp + 8], 0
mov dword [esp + 0xc], ecx
call sym.github.com_armon_go_socks5.sendReply
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x61d8e6
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
je 0x61d86c
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
lea eax, [0x699187]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx]
call eax
add esp, 0xac
ret
lea eax, [0x65b4c0]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.runtime.makechan
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x61d927
mov eax, dword [ecx + 4]
lea edx, [0x8549b0]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov edx, dword [esp + 8]
mov ecx, edx
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0xc4]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x98], edx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x3c], eax
lea ebx, [0x671a40]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.github.com_armon_go_socks5._Server_.handleConnect.gowrap2]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
mov ecx, dword [0x899508]
test ecx, ecx
jne 0x61d985
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x48]
jmp 0x61d9a1
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0x40]
mov dword [edi], ecx
mov edx, dword [esp + 0x98]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x48]
mov dword [edi + 8], ebx
mov dword [eax + 8], ecx
mov ebp, dword [esp + 0x3c]
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov dword [esp], eax
call sym.runtime.newproc
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x61d9e5
mov eax, dword [eax + 4]
lea ecx, [0x8549c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jmp 0x61d9eb
mov ecx, dword [esp + 0x2c]
test ecx, ecx
mov dword [esp + 0xa0], eax
je 0x61da0f
mov eax, dword [ecx + 4]
lea ecx, [0x8549d0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov edx, dword [esp + 8]
mov ecx, edx
mov dword [esp + 0x98], ecx
lea eax, [0x671a40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [sym.github.com_armon_go_socks5._Server_.handleConnect.gowrap3]
mov dword [eax], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
mov ecx, dword [0x899508]
test ecx, ecx
jne 0x61da55
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
jmp 0x61da71
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0xc0]
mov dword [edi], ecx
mov edx, dword [esp + 0x40]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x48]
mov dword [edi + 8], ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov dword [esp], eax
call sym.runtime.newproc
xor eax, eax
jmp 0x61dc03
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x61dab7
mov eax, dword [eax + 4]
lea ecx, [0x854980]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov byte [esp + 8], 2
mov dword [esp + 0xc], 0
call sym.github.com_armon_go_socks5.sendReply
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x61db6c
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
je 0x61db02
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
lea eax, [0x699187]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xac
ret
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xc4]
mov eax, dword [eax + 0xc]
lea ecx, [0x66bda0]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
lea eax, str.Connect_to__v_blocked_by_rulesInvalid_NTLM_message_signaturePayload_Offset:__d_Length:__d_nEncryptedRandomSessionKey:__s_n_nPayload_Offset:__d_Length:__dreflect:_Elem_of_invalid_type_MapIter.Key_called_before_Next_runtime:_cgocallback_with_spruntime:_bad_g_in_cgocallback_n__types_from_different_scopes_notetsleep___waitm_out_of_syncfailed_to_get_system_page_sizeassignment_to_entry_in_nil_mapruntime:_found_in_object_at___in_prepareForSweep__sweepgen__cpu_classes_total:cpu_seconds_gc_cycles_automatic:gc_cycles_sched_pauses_total_gc:seconds_sync_mutex_wait_total:seconds_godebug_non_default_behavior_bcryptprimitives.dll_not_foundpanic_called_with_nil_argumentcheckdead:_inconsistent_countsrunqputslow:_queue_is_not_fullruntime:_bad_pointer_in_frame_invalid_pointer_found_on_stack_locals_stack_map_entries_for_abi_mismatch_detected_between_runtime:_impossible_type_kind_unsafe.Slice:_len_out_of_rangesync:_inconsistent_mutex_statesync:_unlock_of_unlocked_mutexsocket_operation_on_non_socketinappropriate_ioctl_for_deviceprotocol_wrong_type_for_sockettrailing_garbage_after_addresscrypto_rsa:_verification_errorx509:_invalid_ECDSA_parametersx509:_SAN_dNSName_is_malformedx509:_malformed_issuerUniqueIDGODEBUG:_unknown_cpu_feature__subtle.XORBytes:_dst_too_shortmissing_validateFirstLine_funcmime:_duplicate_parameter_namereflect:_Len_of_non_array_typeasn1:_cannot_marshal_nil_valuetransform:_short_source_bufferReconnecting_to_the_far_end..._Starting_to_copy_stream_to_connStarting_to_copy_conn_to_streamfmt:_unknown_base__cant_happenW._Central_Africa_Standard_TimeCentral_Brazilian_Standard_TimeMountain_Standard_Time__Mexico_11368683772161602973937988281255684341886080801486968994140625tls:_no_certificates_configuredbad_certificate_status_responsetls:_unsupported_public_key:__Tfailed_to_parse_certificate:__wTLS:_sequence_number_wraparoundCLIENT_HANDSHAKE_TRAFFIC_SECRETSERVER_HANDSHAKE_TRAFFIC_SECRETtls:_failed_to_sign_handshake:_Unsupported_command_version:__vtoo_many_transfer_encodings:__qreflect:_Len_of_non_array_type_reflect.MakeSlice:_negative_lenreflect.MakeSlice:_negative_capslice_bounds_out_of_range__:_x_slice_bounds_out_of_range___x:_internal_error___misuse_of_itab__not_in_usable_address_space:_runtime:_cannot_allocate_memorycheckmark_found_unmarked_objectruntime:_failed_to_commit_pages_memory_classes_heap_free:bytes_memory_classes_os_stacks:bytespacer:_sweep_done_at_heap_size_non_in_use_span_in_unswept_listcasgstatus:_bad_incoming_valuesresetspinning:_not_a_spinning_mentersyscallblock_inconsistent_runtime:_split_stack_overflow:_...additional_frames_elided..._nunsafe.String:_len_out_of_rangecannot_assign_requested_address.lib_section_in_a.out_corruptedzone_must_be_a_non_empty_stringcrypto_rsa:_invalid_prime_valuex509:_malformed_GeneralizedTimecrypto_ecdh:_invalid_public_keyx509:_invalid_basic_constraintsx509:_malformed_tbs_certificatex509:_malformed_subjectUniqueIDx509:_certificate_is_valid_for_proxy_auth_Domain_user:Password_:_day_of_year_does_not_match_day28421709430404007434844970703125go_package_net:_hostLookupOrder_chacha20poly1305:_bad_key_lengthtls:_unknown_Renegotiation_valuetls:_NextProtos_values_too_largetls:_failed_to_parse_private_keyAssociate_to__v_blocked_by_rulesuse_of_closed_network_connectionbufio:_invalid_use_of_UnreadBytebufio:_tried_to_fill_full_bufferMapIter.Value_called_before_Nextslice_bounds_out_of_range__::_x_slice_bounds_out_of_range__:_x:_slice_bounds_out_of_range___x::___types_from_different_packages_GCProg_for_type_that_isnt_largeruntime:_failed_to_release_pagesruntime:_fixalloc_size_too_largeinvalid_limiter_event_type_foundscanstack:_goroutine_not_stoppedscavenger_state_is_already_wiredsweep_increased_allocation_countremovespecial_on_invalid_pointerruntime:_root_level_max_pages__WSAGetOverlappedResult_not_found_cgo_pthread_key_created_missingruntime:_sudog_with_non_nil_elemruntime:_sudog_with_non_nil_nextruntime:_sudog_with_non_nil_prevruntime:_mcall_function_returnedruntime:_newstack_called_from_gruntime:_stack_split_at_bad_timepanic_while_printing_panic_valueruntime:_setevent_failed__errnoruntime.se
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xac
ret
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 1]
cmp eax, 2
jge 0x61dc70
mov dword [esp + 0x34], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
lea ecx, [esp + 0x88]
mov dword [esp + 4], ecx
call sym.runtime.chanrecv1
mov eax, dword [esp + 0x88]
test eax, eax
je 0x61dbfc
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx]
call eax
add esp, 0xac
ret
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x2b], 0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx]
call eax
add esp, 0xac
ret
mov ecx, dword [0x6f75a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x66a2a0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
nop
call sym.runtime.deferreturn
add esp, 0xac
ret
call sym.runtime.morestack_noctxt
jmp sym.github.com_armon_go_socks5._Server_.handleConnect