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

Disassembly:
mov ecx, dword [0x5d53a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x437d18
sub esp, 0x50
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x437697
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x4376d0
lea eax, [0x5d5720]
mov dword [esp], eax
call sym.runtime_internal_atomic.Loadint32
cmp dword [esp + 4], 1
je 0x4376ba
lea eax, [0x4df880]
lea ecx, [0x5d5280]
jmp 0x4376d0
mov eax, dword [0x5ac358]
mov dword [esp], eax
call sym.runtime._godebugInc_.IncNonDefault
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov edx, dword [0x5d53a4]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx + 0x50], edx
jne 0x437cbe
mov ebp, dword [ebx + 0x6c]
test ebp, ebp
jne 0x437c65
mov dword [esp + 0x24], edx
mov ebp, dword [ebx + 0x78]
test ebp, ebp
jne 0x437baa
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x437b51
lea edi, [esp + 0x34]
mov ebx, eax
xor eax, eax
call fcn.00466459
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 [0x5d54a0]
test ecx, ecx
je 0x43774f
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, [0x5d531c]
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 0x4379cc
movzx edx, byte [ecx]
test dl, dl
je 0x437816
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x4377aa
mov byte [edx + 0x19], 1
mov edx, dword [0x5d54a0]
test edx, edx
je 0x4377be
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 0x437816
mov edx, dword [0x5d54a0]
test edx, edx
je 0x4377e1
mov edx, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xc], 0
mov edx, dword [0x5d54a0]
mov ebx, dword [ecx + 0x14]
test edx, edx
je 0x437802
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 0x437789
mov byte [ecx], 1
mov edx, dword [0x5d54a0]
test edx, edx
je 0x437834
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 0x437898
mov dword [esp], ecx
call sym.runtime.runOpenDeferFrame
movzx eax, byte [esp + 4]
test al, al
je 0x437892
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
movzx edx, byte [edx + 0x18]
test dl, dl
jne 0x4378b8
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 0x4378b8
mov ecx, dword [esp + 0x2c]
jmp 0x4378b8
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 0x437b3b
mov ebx, dword [0x5d54a0]
test ebx, ebx
je 0x4378e1
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 0x437953
mov esi, dword [0x5d54a0]
test esi, esi
je 0x437912
mov esi, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + 0xc], 0
mov esi, dword [0x5d54a0]
mov edi, dword [ecx + 0x14]
test esi, esi
je 0x437937
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 0x437789
mov ecx, dword [0x5d54a0]
mov esi, dword [esp + 0x40]
test ecx, ecx
je 0x43797b
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 0x437996
movzx ecx, byte [esi + 0x1a]
test cl, cl
je 0x437996
movzx ecx, byte [esi + 0x19]
test cl, cl
jne 0x437b05
nop
lea eax, [0x5d531c]
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 0x4379c1
xor edx, edx
jmp 0x4379f6
mov edx, dword [ecx + 0x14]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x4379f6
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 0x437a6f
movzx ebx, byte [ecx]
test bl, bl
jne 0x437a6f
movzx ebx, byte [ecx + 2]
test bl, bl
jne 0x437a0e
mov ebx, dword [ecx + 0x14]
jmp 0x4379f2
mov dword [esp + 0x20], edx
test edx, edx
je 0x437a35
mov ebx, dword [0x5d54a0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x437a30
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ebp
jmp 0x437a52
mov ebx, dword [0x5d54a0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x437a4f
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 0x4379f2
mov ecx, dword [0x5d54a0]
mov edx, dword [esp + 0x40]
test ecx, ecx
je 0x437a8a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], edx
jmp 0x437a92
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x437af9
movzx edx, byte [ecx + 0x19]
test dl, dl
je 0x437abd
mov edx, dword [0x5d54a0]
mov ecx, dword [ecx + 0xc]
test edx, edx
je 0x437a8f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
jmp 0x437a8f
test ecx, ecx
je 0x437af9
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x9c], ecx
lea eax, [0x4fb9c0]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x4f200f]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call sym.runtime.throw
mov dword [eax + 0x88], 0
jmp 0x437ac1
mov eax, dword [esi + 0x14]
mov dword [edx + 0x98], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x9c], eax
lea eax, [0x4fb9c0]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x4f4bd6]
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_traceGCSweepStart116415321826934814453125582076609134674072265625SA_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_Timefloating_point_exceptionconnection_reset_by_peerlevel_2_not_synchronizedlink_number_out_of_rangeout_of_streams_resourcesfunction_not_implementedstructure_needs_cleaningnot_supported_by_windowsCertFreeCertificateChainCreateToolhelp32SnapshotGetUserProfileDirectoryWjson:_unsupported_type:_invalid_pattern_syntax:_goroutine_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_traceGCSweepStart29103830456733703613281252006_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_Timeresource_deadlock_avoidedoperation_now_in_progressno_buffer_space_availableno_such_device_or_addresssocket_type_not_supportedinvalid_cross_device_linkGetFinalPathNameByHandleWGetQueuedCompletionStatusUpdateProcThreadAttributeinconsistent_poll.fdMutexjson:_unsupported_value:_GODEBUG:_can_not_enable__unexpected_key_value_typeExpandEnvironmentStringsWGetFileInformationByHandleunknown_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, [0x4f0800]
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, [0x4f30fc]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4f0800]
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, [0x4f36a4]
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.methodValueCall23283064365386962890625__not_found_in_registryE._Africa_Standard_TimeTocantins_Standard_TimeArgentina_Standard_TimeVenezuela_Standard_TimeGreenland_Standard_TimeSri_Lanka_Standard_TimeWest_Bank_Standard_TimeQyzylorda_Standard_TimeSingapore_Standard_TimeWest_Asia_Standard_TimeGreenwich_Standard_TimeLord_Howe_Standard_TimeAstrakhan_Standard_TimeW._Europe_Standard_TimeE._Europe_Standard_TimeVolgograd_Standard_TimeMauritius_Standard_TimeMarquesas_Standard_Timedevice_or_resource_busyinterrupted_system_callno_space_left_on_deviceoperation_not_supportedoperation_not_permittedCertGetCertificateChainFreeEnvironmentStringsWGetEnvironmentVariableWGetSystemTimeAsFileTimeSetEnvironmentVariableWDestroyEnvironmentBlockbytes.Buffer:_too_largeunexpected_map_key_type___missing_CPU_support_npattern_bits_too_long:_hash_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, [0x4f0800]
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, [0x4f30e9]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x4f0800]
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, [0x4f3ab0]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.gopanic