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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x398358
sub esp, 0x50
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x397cd7
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x397d10
lea eax, [0x5dc3bc]
mov dword [esp], eax
call sym.runtime_internal_atomic.Loadint32
cmp dword [esp + 4], 1
je 0x397cfa
lea eax, [0x498920]
lea ecx, [0x5dbe00]
jmp 0x397d10
mov eax, dword [0x5b0c5c]
mov dword [esp], eax
call sym.runtime._godebugInc_.IncNonDefault
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
mov edx, dword [0x5dbf38]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx + 0x50], edx
jne 0x3982fe
mov ebp, dword [ebx + 0x6c]
test ebp, ebp
jne 0x3982a5
mov dword [esp + 0x24], edx
mov ebp, dword [ebx + 0x78]
test ebp, ebp
jne 0x3981ea
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x398191
lea edi, [esp + 0x34]
mov ebx, eax
xor eax, eax
call fcn.003c7239
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x397d8f
call sym.runtime.gcWriteBarrier2
lea eax, [esp + 0x34]
mov dword [edi], eax
mov ecx, dword [edx + 0x10]
mov dword [edi + 4], ecx
lea eax, [esp + 0x34]
mov dword [edx + 0x10], eax
nop
lea eax, [0x5dbeac]
mov dword [esp], eax
mov dword [esp + 4], 1
call sym.runtime_internal_atomic.Xadd
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.addOneOpenDeferFrame
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x39800c
movzx edx, byte [ecx]
test dl, dl
je 0x397e56
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x397dea
mov byte [edx + 0x19], 1
mov edx, dword [0x5dc100]
test edx, edx
je 0x397dfe
mov edx, dword [ecx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x10], 0
movzx edx, byte [ecx + 2]
test dl, dl
jne 0x397e56
mov edx, dword [0x5dc100]
test edx, edx
je 0x397e21
mov edx, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xc], 0
mov edx, dword [0x5dc100]
mov ebx, dword [ecx + 0x14]
test edx, edx
je 0x397e42
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [eax + 0x14]
mov dword [edi + 4], edx
mov dword [eax + 0x14], ebx
mov dword [esp], ecx
call sym.runtime.freedefer
mov edx, dword [esp + 0x24]
jmp 0x397dc9
mov byte [ecx], 1
mov edx, dword [0x5dc100]
test edx, edx
je 0x397e74
call sym.runtime.gcWriteBarrier2
lea edx, [esp + 0x34]
mov dword [edi], edx
mov ebx, dword [ecx + 0x10]
mov dword [edi + 4], ebx
mov dword [esp + 0x2c], ecx
lea edx, [esp + 0x34]
mov dword [ecx + 0x10], edx
movzx edx, byte [ecx + 2]
test dl, dl
je 0x397ed8
mov dword [esp], ecx
call sym.runtime.runOpenDeferFrame
movzx eax, byte [esp + 4]
test al, al
je 0x397ed2
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
movzx edx, byte [edx + 0x18]
test dl, dl
jne 0x397ef8
mov byte [esp + 0xe], al
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.runtime.addOneOpenDeferFrame
movzx eax, byte [esp + 0xe]
mov ecx, dword [esp + 0x2c]
jmp 0x397ef8
mov ecx, dword [esp + 0x2c]
jmp 0x397ef8
call sym.runtime.getargp
mov eax, dword [esp]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov ecx, dword [edx]
call ecx
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x14], ecx
jne 0x39817b
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x397f21
mov ebx, dword [ecx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov byte [esp + 0xf], al
mov dword [ecx + 0x10], 0
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ebx
test al, al
je 0x397f93
mov esi, dword [0x5dc100]
test esi, esi
je 0x397f52
mov esi, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + 0xc], 0
mov esi, dword [0x5dc100]
mov edi, dword [ecx + 0x14]
test esi, esi
je 0x397f77
mov esi, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x14]
mov dword [edi + 4], ebp
mov edi, esi
mov dword [edx + 0x14], edi
mov dword [esp], ecx
call sym.runtime.freedefer
movzx eax, byte [esp + 0xf]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
movzx ecx, byte [esp + 0x4c]
test cl, cl
je 0x397dc9
mov ecx, dword [0x5dc100]
mov esi, dword [esp + 0x40]
test ecx, ecx
je 0x397fbb
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ecx, dword [edx + 0x10]
mov dword [edi + 4], ecx
mov dword [edx + 0x10], esi
test esi, esi
je 0x397fd6
movzx ecx, byte [esi + 0x1a]
test cl, cl
je 0x397fd6
movzx ecx, byte [esi + 0x19]
test cl, cl
jne 0x398145
nop
lea eax, [0x5dbeac]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call sym.runtime_internal_atomic.Xadd
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
movzx edx, byte [esp + 0xf]
test dl, dl
je 0x398001
xor edx, edx
jmp 0x398036
mov edx, dword [ecx + 0x14]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x398036
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call sym.runtime.preprintpanics
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call sym.runtime.fatalpanic
xor eax, eax
mov dword [eax], 0
add esp, 0x50
ret
mov edx, ecx
mov ecx, ebx
test ecx, ecx
je 0x3980af
movzx ebx, byte [ecx]
test bl, bl
jne 0x3980af
movzx ebx, byte [ecx + 2]
test bl, bl
jne 0x39804e
mov ebx, dword [ecx + 0x14]
jmp 0x398032
mov dword [esp + 0x20], edx
test edx, edx
je 0x398075
mov ebx, dword [0x5dc100]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x398070
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ebp
jmp 0x398092
mov ebx, dword [0x5dc100]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x39808f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [eax + 0x14]
mov dword [edi + 4], ebx
mov dword [eax + 0x14], ebp
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp], ecx
call sym.runtime.freedefer
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
jmp 0x398032
mov ecx, dword [0x5dc100]
mov edx, dword [esp + 0x40]
test ecx, ecx
je 0x3980ca
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], edx
jmp 0x3980d2
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x398139
movzx edx, byte [ecx + 0x19]
test dl, dl
je 0x3980fd
mov edx, dword [0x5dc100]
mov ecx, dword [ecx + 0xc]
test edx, edx
je 0x3980cf
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
jmp 0x3980cf
test ecx, ecx
je 0x398139
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x9c], ecx
lea eax, [0x4bfcbc]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x4b4dff]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call sym.runtime.throw
mov dword [eax + 0x88], 0
jmp 0x398101
mov eax, dword [esi + 0x14]
mov dword [edx + 0x98], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x9c], eax
lea eax, [0x4bfcbc]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x4b8117]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call sym.runtime.throw
lea eax, str.bad_defer_entry_in_panicbypassed_recovery_failedstack_trace_unavailable_nbindm_in_unexpected_GOOSrunqsteal:_runq_overflowdouble_traceGCSweepStartconnection_reset_by_peerlevel_2_not_synchronizedlink_number_out_of_rangeout_of_streams_resourcesfunction_not_implementedstructure_needs_cleaningnot_supported_by_windowsCertFreeCertificateChainCreateToolhelp32SnapshotGetUserProfileDirectoryW116415321826934814453125582076609134674072265625address_string_too_shortresource_length_too_longunpacking_Question.Classflate:_maxBits_too_largeinvalid_pattern_syntax:_context_deadline_exceededserver_v:_send_error:__v2006_01_02T15:04:05Z07:00South_Sudan_Standard_TimeUS_Mountain_Standard_TimeMiddle_East_Standard_TimeTransbaikal_Standard_TimeW._Mongolia_Standard_TimeAfghanistan_Standard_TimeNorth_Korea_Standard_TimeUlaanbaatar_Standard_TimeVladivostok_Standard_TimeAUS_Central_Standard_TimeAUS_Eastern_Standard_TimeKaliningrad_Standard_TimeNew_Zealand_Standard_Time2010_02_04T21:00:57_08:00unexpected_func_formattercant_rename_log_file:__sno_answer_from_DNS_serverno_suitable_address_foundunexpected___in_addressunexpected___in_addressgoroutine_profile_cleanupchansend:_spurious_wakeupruntimelock:_lock_countbad_system_huge_page_sizearena_already_initialized_to_unused_region_of_span_bytes_failed_with_errnoruntime:_VirtualAlloc_of__sched_gomaxprocs:threadsremaining_pointer_buffersslice_bounds_out_of_range_cgo_thread_start_missingallgadd:_bad_status_Gidleruntime:_program_exceeds_startm:_p_has_runnable_gsstoplockedm:_not_runnablereleasep:_invalid_p_statecheckdead:_no_p_for_timercheckdead:_no_m_for_timerunknown_sigtramp_callbackunexpected_fault_address_missing_stack_in_newstackbad_status_in_shrinkstackmissing_traceGCSweepStartresource_deadlock_avoidedoperation_now_in_progressno_buffer_space_availableno_such_device_or_addresssocket_type_not_supportedinvalid_cross_device_linkGetFinalPathNameByHandleWGetQueuedCompletionStatusUpdateProcThreadAttributeunexpected_key_value_typeExpandEnvironmentStringsW2910383045673370361328125inconsistent_poll.fdMutexIPv4_field_has_value__255GODEBUG:_can_not_enable__reqId_v:_context_canceled:_day_of_year_out_of_rangeSouth_Africa_Standard_TimeSaint_Pierre_Standard_TimeNewfoundland_Standard_TimeCentral_Asia_Standard_TimeEkaterinburg_Standard_TimeE._Australia_Standard_TimeW._Australia_Standard_TimeBougainville_Standard_TimeLine_Islands_Standard_TimeWest_Pacific_Standard_Timelogger:_unknown_variable:_cant_open_new_logfile:__sGetFileInformationByHandlecannot_marshal_DNS_messageunexpected_type_in_connecttoo_many_colons_in_addressunclosed_criterion_bracketcriterion_lacks_equal_signinvalid_argument_to_Int63ninvalid_argument_to_Int31nunknown_ABI_parameter_kindall_goroutines_stack_tracenotewakeup___double_wakeuppersistentalloc:_size__0_gc_cycles_total:gc_cyclesnegative_idle_mark_workersuse_of_invalid_sweepLockerruntime:_bad_span_s.stateQueryPerformanceFrequency
mov dword [esp], eax
mov dword [esp + 4], 0x18
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4b2e95]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.printany
call sym.runtime.printlock
call sym.runtime.printnl
call sym.runtime.printunlock
lea eax, [0x4b6257]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4b2e95]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.printany
call sym.runtime.printlock
call sym.runtime.printnl
call sym.runtime.printunlock
call sym.runtime.printlock
lea eax, [0x4b67e6]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x78]
mov dword [esp + 0x14], eax
call sym.runtime.printlock
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call sym.runtime.printstring
call sym.runtime.printunlock
call sym.runtime.printlock
call sym.runtime.printnl
call sym.runtime.printunlock
lea eax, str.panic_during_preemptoffnanotime_returning_zerofatal:_morestack_on_g0_nthe_current_g_is_not_g0schedule:_holding_locksinvalid_m__lockedInt__procresize:_invalid_argspan_has_no_free_stacksstack_growth_after_forkshrinkstack_at_bad_timereflect.methodValueCalldevice_or_resource_busyinterrupted_system_callno_space_left_on_deviceoperation_not_supportedoperation_not_permittedCertGetCertificateChainFreeEnvironmentStringsWGetEnvironmentVariableWGetSystemTimeAsFileTimeSetEnvironmentVariableW23283064365386962890625DestroyEnvironmentBlocktoo_many_pointers___10_segment_length_too_longunpacking_Question.Nameunpacking_Question.Typeskipping_Question_Class___missing_CPU_support_ninvalid_escape_sequenceflate:_internal_error:_pattern_bits_too_long:_SA_Pacific_Standard_TimeSA_Eastern_Standard_TimeUS_Eastern_Standard_TimeSA_Western_Standard_TimeMontevideo_Standard_TimeMagallanes_Standard_TimePacific_SA_Standard_TimeAzerbaijan_Standard_TimeBangladesh_Standard_TimeNorth_Asia_Standard_TimeCape_Verde_Standard_Timeinvalid_argument_to_Intnhash_of_unhashable_type_span_has_no_free_objectsruntime:_found_obj_at__runtime:_VirtualFree_of__cgo_go_to_c_calls:calls_gc_heap_objects:objects_sched_latencies:secondsqueuefinalizer_during_GCupdate_during_transitionruntime:_markroot_index_cant_scan_our_own_stackgcDrainN_phase_incorrectpageAlloc:_out_of_memoryruntime:_p.searchAddr__range_partially_overlapsGetSystemTimeAsFileTime
mov dword [esp], eax
mov dword [esp + 4], 0x17
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4b2e95]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.printany
call sym.runtime.printlock
call sym.runtime.printnl
call sym.runtime.printunlock
lea eax, [0x4b6244]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4b2e95]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.printstring
call sym.runtime.printunlock
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.printany
call sym.runtime.printlock
call sym.runtime.printnl
call sym.runtime.printunlock
lea eax, [0x4b6dc1]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.gopanic