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

Disassembly:
mov ecx, dword [0x621238]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x437ef8
sub esp, 0x50
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x437877
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x4378b0
lea eax, [0x62165c]
mov dword [esp], eax
call sym.runtime_internal_atomic.Loadint32
cmp dword [esp + 4], 1
je 0x43789a
lea eax, [0x508ac0]
lea ecx, [0x621100]
jmp 0x4378b0
mov eax, dword [0x5f44c0]
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 [0x621238]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx + 0x50], edx
jne 0x437e9e
mov ebp, dword [ebx + 0x6c]
test ebp, ebp
jne 0x437e45
mov dword [esp + 0x24], edx
mov ebp, dword [ebx + 0x78]
test ebp, ebp
jne 0x437d8a
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x437d31
lea edi, [esp + 0x34]
mov ebx, eax
xor eax, eax
call fcn.004669b9
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 [0x6213a0]
test ecx, ecx
je 0x43792f
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, [0x621190]
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 0x437bac
movzx edx, byte [ecx]
test dl, dl
je 0x4379f6
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x43798a
mov byte [edx + 0x19], 1
mov edx, dword [0x6213a0]
test edx, edx
je 0x43799e
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 0x4379f6
mov edx, dword [0x6213a0]
test edx, edx
je 0x4379c1
mov edx, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xc], 0
mov edx, dword [0x6213a0]
mov ebx, dword [ecx + 0x14]
test edx, edx
je 0x4379e2
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 0x437969
mov byte [ecx], 1
mov edx, dword [0x6213a0]
test edx, edx
je 0x437a14
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 0x437a78
mov dword [esp], ecx
call sym.runtime.runOpenDeferFrame
movzx eax, byte [esp + 4]
test al, al
je 0x437a72
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
movzx edx, byte [edx + 0x18]
test dl, dl
jne 0x437a98
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 0x437a98
mov ecx, dword [esp + 0x2c]
jmp 0x437a98
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 0x437d1b
mov ebx, dword [0x6213a0]
test ebx, ebx
je 0x437ac1
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 0x437b33
mov esi, dword [0x6213a0]
test esi, esi
je 0x437af2
mov esi, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + 0xc], 0
mov esi, dword [0x6213a0]
mov edi, dword [ecx + 0x14]
test esi, esi
je 0x437b17
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 0x437969
mov ecx, dword [0x6213a0]
mov esi, dword [esp + 0x40]
test ecx, ecx
je 0x437b5b
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 0x437b76
movzx ecx, byte [esi + 0x1a]
test cl, cl
je 0x437b76
movzx ecx, byte [esi + 0x19]
test cl, cl
jne 0x437ce5
nop
lea eax, [0x621190]
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 0x437ba1
xor edx, edx
jmp 0x437bd6
mov edx, dword [ecx + 0x14]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x437bd6
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 0x437c4f
movzx ebx, byte [ecx]
test bl, bl
jne 0x437c4f
movzx ebx, byte [ecx + 2]
test bl, bl
jne 0x437bee
mov ebx, dword [ecx + 0x14]
jmp 0x437bd2
mov dword [esp + 0x20], edx
test edx, edx
je 0x437c15
mov ebx, dword [0x6213a0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x437c10
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ebp
jmp 0x437c32
mov ebx, dword [0x6213a0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x437c2f
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 0x437bd2
mov ecx, dword [0x6213a0]
mov edx, dword [esp + 0x40]
test ecx, ecx
je 0x437c6a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], edx
jmp 0x437c72
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x437cd9
movzx edx, byte [ecx + 0x19]
test dl, dl
je 0x437c9d
mov edx, dword [0x6213a0]
mov ecx, dword [ecx + 0xc]
test edx, edx
je 0x437c6f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
jmp 0x437c6f
test ecx, ecx
je 0x437cd9
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x9c], ecx
lea eax, [0x52bab8]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x52075d]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call sym.runtime.throw
mov dword [eax + 0x88], 0
jmp 0x437ca1
mov eax, dword [esi + 0x14]
mov dword [edx + 0x98], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x9c], eax
lea eax, [0x52bab8]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x523f73]
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_traceGCSweepStartSA_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_exceptionAllocateAndInitializeSidBuildSecurityDescriptorWCertFreeCertificateChainAssignProcessToJobObjectCreateToolhelp32SnapshotGenerateConsoleCtrlEventGetMaximumProcessorCountGetNamedPipeHandleStateWSetConsoleCursorPositionSetDefaultDllDirectoriesNtQuerySystemInformationSetupDiCreateDeviceInfoWSetupDiGetSelectedDeviceSetupDiSetSelectedDeviceGetWindowThreadProcessIdGetUserProfileDirectoryW116415321826934814453125582076609134674072265625reflect.Value.SetComplexaddress_string_too_shortconnection_reset_by_peerlevel_2_not_synchronizedlink_number_out_of_rangeout_of_streams_resourcesfunction_not_implementedstructure_needs_cleaningnot_supported_by_windowsresource_length_too_longunpacking_Question.Classinvalid_pattern_syntax:_no_hex_data_for__x_stringno_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_traceGCSweepStart2006_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_TimeGetSecurityDescriptorDaclGetSecurityDescriptorSaclGetSidIdentifierAuthorityInitiateSystemShutdownExWIsValidSecurityDescriptorSetSecurityDescriptorDaclSetSecurityDescriptorSaclExpandEnvironmentStringsWFindNextVolumeMountPointWFindVolumeMountPointCloseGetFinalPathNameByHandleWGetQueuedCompletionStatusQueryInformationJobObjectUpdateProcThreadAttributeNtQueryInformationProcessSetupDiCallClassInstallerSetupDiGetDevicePropertyWSetupDiGetSelectedDriverWSetupDiSetSelectedDriverW_with_too_many_arguments_2910383045673370361328125reflect:_Bits_of_nil_TypeIPv4_field_has_value__255resource_deadlock_avoidedoperation_now_in_progressno_buffer_space_availableno_such_device_or_addresssocket_type_not_supportedinvalid_cross_device_linkcontext_deadline_exceededinconsistent_poll.fdMutexGODEBUG:_can_not_enable__unexpected_key_value_typeinteger_overflow_on_token_cannot_marshal_DNS_messageunexpected_type_in_connecttoo_many_colons_in_addressunclosed_criterion_bracketcriterion_lacks_equal_signGetFileInformationByHandleall_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, [0x51e992]
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, [0x521d2e]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x51e992]
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, [0x52242e]
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.methodValueCall__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_TimeGetSidSubAuthorityCountQueryServiceLockStatusWRegNotifyChangeKeyValueSetKernelObjectSecurityCertGetCertificateChainDeleteVolumeMountPointWFreeEnvironmentStringsWGetActiveProcessorCountGetEnvironmentVariableWGetLogicalDriveStringsWGetSystemTimeAsFileTimeSetEnvironmentVariableWSetInformationJobObjectSetNamedPipeHandleStateSetProcessPriorityBoostNtSetInformationProcessDestroyEnvironmentBlockGetFileVersionInfoSizeWbytes.Buffer:_too_large23283064365386962890625reflect.Value.Interfacereflect.Value.NumMethoddevice_or_resource_busyinterrupted_system_callno_space_left_on_deviceoperation_not_supportedoperation_not_permittedtoo_many_pointers___10_segment_length_too_longunpacking_Question.Nameunpacking_Question.Typeskipping_Question_Class___missing_CPU_support_npattern_bits_too_long:_exec:_Stdout_already_sethash_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, [0x51e992]
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, [0x521d1b]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x51e992]
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, [0x522939]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.gopanic