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

Disassembly:
mov ecx, dword [0x631e3c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x437c28
sub esp, 0x50
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x4375a7
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x4375e0
lea eax, [0x63225c]
mov dword [esp], eax
call sym.runtime_internal_atomic.Loadint32
cmp dword [esp + 4], 1
je 0x4375ca
lea eax, [0x511580]
lea ecx, [0x631d00]
jmp 0x4375e0
mov eax, dword [0x604f4c]
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 [0x631e3c]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx + 0x50], edx
jne 0x437bce
mov ebp, dword [ebx + 0x6c]
test ebp, ebp
jne 0x437b75
mov dword [esp + 0x24], edx
mov ebp, dword [ebx + 0x78]
test ebp, ebp
jne 0x437aba
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x437a61
lea edi, [esp + 0x34]
mov ebx, eax
xor eax, eax
call fcn.004663e9
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 [0x631fb0]
test ecx, ecx
je 0x43765f
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, [0x631da0]
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 0x4378dc
movzx edx, byte [ecx]
test dl, dl
je 0x437726
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x4376ba
mov byte [edx + 0x19], 1
mov edx, dword [0x631fb0]
test edx, edx
je 0x4376ce
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 0x437726
mov edx, dword [0x631fb0]
test edx, edx
je 0x4376f1
mov edx, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xc], 0
mov edx, dword [0x631fb0]
mov ebx, dword [ecx + 0x14]
test edx, edx
je 0x437712
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 0x437699
mov byte [ecx], 1
mov edx, dword [0x631fb0]
test edx, edx
je 0x437744
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 0x4377a8
mov dword [esp], ecx
call sym.runtime.runOpenDeferFrame
movzx eax, byte [esp + 4]
test al, al
je 0x4377a2
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
movzx edx, byte [edx + 0x18]
test dl, dl
jne 0x4377c8
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 0x4377c8
mov ecx, dword [esp + 0x2c]
jmp 0x4377c8
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 0x437a4b
mov ebx, dword [0x631fb0]
test ebx, ebx
je 0x4377f1
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 0x437863
mov esi, dword [0x631fb0]
test esi, esi
je 0x437822
mov esi, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + 0xc], 0
mov esi, dword [0x631fb0]
mov edi, dword [ecx + 0x14]
test esi, esi
je 0x437847
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 0x437699
mov ecx, dword [0x631fb0]
mov esi, dword [esp + 0x40]
test ecx, ecx
je 0x43788b
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 0x4378a6
movzx ecx, byte [esi + 0x1a]
test cl, cl
je 0x4378a6
movzx ecx, byte [esi + 0x19]
test cl, cl
jne 0x437a15
nop
lea eax, [0x631da0]
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 0x4378d1
xor edx, edx
jmp 0x437906
mov edx, dword [ecx + 0x14]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x437906
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 0x43797f
movzx ebx, byte [ecx]
test bl, bl
jne 0x43797f
movzx ebx, byte [ecx + 2]
test bl, bl
jne 0x43791e
mov ebx, dword [ecx + 0x14]
jmp 0x437902
mov dword [esp + 0x20], edx
test edx, edx
je 0x437945
mov ebx, dword [0x631fb0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x437940
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ebp
jmp 0x437962
mov ebx, dword [0x631fb0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x43795f
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 0x437902
mov ecx, dword [0x631fb0]
mov edx, dword [esp + 0x40]
test ecx, ecx
je 0x43799a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], edx
jmp 0x4379a2
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x437a09
movzx edx, byte [ecx + 0x19]
test dl, dl
je 0x4379cd
mov edx, dword [0x631fb0]
mov ecx, dword [ecx + 0xc]
test edx, edx
je 0x43799f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
jmp 0x43799f
test ecx, ecx
je 0x437a09
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x9c], ecx
lea eax, [0x536064]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x52a293]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call sym.runtime.throw
mov dword [eax + 0x88], 0
jmp 0x4379d1
mov eax, dword [esi + 0x14]
mov dword [edx + 0x98], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x9c], eax
lea eax, [0x536064]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x52da9f]
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_TimeSetConsoleCursorPositionDeviceNamedPipecygwinAllocateAndInitializeSidBuildSecurityDescriptorWCertFreeCertificateChainAssignProcessToJobObjectCreateToolhelp32SnapshotGenerateConsoleCtrlEventGetMaximumProcessorCountGetNamedPipeHandleStateWSetDefaultDllDirectoriesNtQuerySystemInformationSetupDiCreateDeviceInfoWSetupDiGetSelectedDeviceSetupDiSetSelectedDeviceGetWindowThreadProcessIdGetUserProfileDirectoryWaddress_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:_json:_unsupported_value:_no_answer_from_DNS_serverno_suitable_address_foundunexpected___in_addressunexpected___in_address2910383045673370361328125goroutine_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_TimeCreateConsoleScreenBufferGetSecurityDescriptorDaclGetSecurityDescriptorSaclGetSidIdentifierAuthorityInitiateSystemShutdownExWIsValidSecurityDescriptorSetSecurityDescriptorDaclSetSecurityDescriptorSaclExpandEnvironmentStringsWFindNextVolumeMountPointWFindVolumeMountPointCloseGetFinalPathNameByHandleWGetQueuedCompletionStatusQueryInformationJobObjectUpdateProcThreadAttributeNtQueryInformationProcessSetupDiCallClassInstallerSetupDiGetDevicePropertyWSetupDiGetSelectedDriverWSetupDiSetSelectedDriverWIPv4_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_typeencountered_a_cycle_via__scannot_marshal_DNS_messageunexpected_type_in_connecttoo_many_colons_in_addressunclosed_criterion_bracketcriterion_lacks_equal_signGetFileInformationByHandleunknown_ABI_parameter_kind1455191522836685180664062572759576141834259033203125all_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, [0x528504]
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, [0x52b8c2]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x528504]
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, [0x52bf52]
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_TimeSetConsoleTextAttributeGetSidSubAuthorityCountQueryServiceLockStatusWRegNotifyChangeKeyValueSetKernelObjectSecurityCertGetCertificateChainDeleteVolumeMountPointWFreeEnvironmentStringsWGetActiveProcessorCountGetEnvironmentVariableWGetLogicalDriveStringsWGetSystemTimeAsFileTimeSetEnvironmentVariableWSetInformationJobObjectSetNamedPipeHandleStateSetProcessPriorityBoostNtSetInformationProcessDestroyEnvironmentBlockGetFileVersionInfoSizeWdevice_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:_Disables_colored_output.json:_unsupported_type:_116415321826934814453125582076609134674072265625hash_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, [0x528504]
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, [0x52b8af]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x528504]
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, [0x52c51a]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.gopanic