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

Disassembly:
mov ecx, dword [0x5fc28c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x438ee8
sub esp, 0x50
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x438867
mov eax, ecx
mov ecx, dword [esp + 0x58]
jmp 0x4388a0
lea eax, [0x5fc69c]
mov dword [esp], eax
call sym.runtime_internal_atomic.Loadint32
cmp dword [esp + 4], 1
je 0x43888a
lea eax, [0x4f6240]
lea ecx, [0x5fc160]
jmp 0x4388a0
mov eax, dword [0x5d31a0]
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 [0x5fc28c]
mov edx, dword fs:[edx]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx + 0x50], edx
jne 0x438e8e
mov ebp, dword [ebx + 0x6c]
test ebp, ebp
jne 0x438e35
mov dword [esp + 0x24], edx
mov ebp, dword [ebx + 0x78]
test ebp, ebp
jne 0x438d7a
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x438d21
lea edi, [esp + 0x34]
mov ebx, eax
xor eax, eax
call fcn.00469a39
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 [0x5fc3f0]
test ecx, ecx
je 0x43891f
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, [0x5fc200]
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 0x438b9c
movzx edx, byte [ecx]
test dl, dl
je 0x4389e6
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x43897a
mov byte [edx + 0x19], 1
mov edx, dword [0x5fc3f0]
test edx, edx
je 0x43898e
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 0x4389e6
mov edx, dword [0x5fc3f0]
test edx, edx
je 0x4389b1
mov edx, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xc], 0
mov edx, dword [0x5fc3f0]
mov ebx, dword [ecx + 0x14]
test edx, edx
je 0x4389d2
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 0x438959
mov byte [ecx], 1
mov edx, dword [0x5fc3f0]
test edx, edx
je 0x438a04
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 0x438a68
mov dword [esp], ecx
call sym.runtime.runOpenDeferFrame
movzx eax, byte [esp + 4]
test al, al
je 0x438a62
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x10]
movzx edx, byte [edx + 0x18]
test dl, dl
jne 0x438a88
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 0x438a88
mov ecx, dword [esp + 0x2c]
jmp 0x438a88
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 0x438d0b
mov ebx, dword [0x5fc3f0]
test ebx, ebx
je 0x438ab1
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 0x438b23
mov esi, dword [0x5fc3f0]
test esi, esi
je 0x438ae2
mov esi, dword [ecx + 0xc]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + 0xc], 0
mov esi, dword [0x5fc3f0]
mov edi, dword [ecx + 0x14]
test esi, esi
je 0x438b07
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 0x438959
mov ecx, dword [0x5fc3f0]
mov esi, dword [esp + 0x40]
test ecx, ecx
je 0x438b4b
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 0x438b66
movzx ecx, byte [esi + 0x1a]
test cl, cl
je 0x438b66
movzx ecx, byte [esi + 0x19]
test cl, cl
jne 0x438cd5
nop
lea eax, [0x5fc200]
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 0x438b91
xor edx, edx
jmp 0x438bc6
mov edx, dword [ecx + 0x14]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x438bc6
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 0x438c3f
movzx ebx, byte [ecx]
test bl, bl
jne 0x438c3f
movzx ebx, byte [ecx + 2]
test bl, bl
jne 0x438bde
mov ebx, dword [ecx + 0x14]
jmp 0x438bc2
mov dword [esp + 0x20], edx
test edx, edx
je 0x438c05
mov ebx, dword [0x5fc3f0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x438c00
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], ebp
jmp 0x438c22
mov ebx, dword [0x5fc3f0]
mov ebp, dword [ecx + 0x14]
test ebx, ebx
je 0x438c1f
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 0x438bc2
mov ecx, dword [0x5fc3f0]
mov edx, dword [esp + 0x40]
test ecx, ecx
je 0x438c5a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], edx
jmp 0x438c62
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x438cc9
movzx edx, byte [ecx + 0x19]
test dl, dl
je 0x438c8d
mov edx, dword [0x5fc3f0]
mov ecx, dword [ecx + 0xc]
test edx, edx
je 0x438c5f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
jmp 0x438c5f
test ecx, ecx
je 0x438cc9
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x98], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x9c], ecx
lea eax, [0x516950]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x50cd27]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call sym.runtime.throw
mov dword [eax + 0x88], 0
jmp 0x438c91
mov eax, dword [esi + 0x14]
mov dword [edx + 0x98], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x9c], eax
lea eax, [0x516950]
mov dword [esp], eax
call sym.runtime.mcall
lea eax, [0x50fb1d]
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_traceGCSweepStartfloating_point_exceptionconnection_reset_by_peerlevel_2_not_synchronizedlink_number_out_of_rangeout_of_streams_resourcesfunction_not_implementedstructure_needs_cleaningnot_supported_by_windowsCertFreeCertificateChainCreateToolhelp32SnapshotGetUserProfileDirectoryWSA_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_Timeresource_length_too_longunpacking_Question.Classinvalid_pattern_syntax:_no_answer_from_DNS_serverno_suitable_address_foundunexpected___in_addressunexpected___in_address2910383045673370361328125IPv4_field_has_value__255goroutine_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_linkGetFinalPathNameByHandleWGetQueuedCompletionStatusUpdateProcThreadAttributecontext_deadline_exceeded2006_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_Timeinconsistent_poll.fdMutexGODEBUG:_can_not_enable__unexpected_key_value_typeExpandEnvironmentStringsWcannot_marshal_DNS_messageunexpected_type_in_connecttoo_many_colons_in_addressunclosed_criterion_bracketcriterion_lacks_equal_sign1455191522836685180664062572759576141834259033203125GetFileInformationByHandleunknown_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, [0x50b368]
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, [0x50dea8]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x50b368]
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, [0x50e48e]
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_permittedCertGetCertificateChainFreeEnvironmentStringsWGetEnvironmentVariableWGetSystemTimeAsFileTimeSetEnvironmentVariableW__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_Timetoo_many_pointers___10_segment_length_too_longunpacking_Question.Nameunpacking_Question.Typeskipping_Question_ClassDestroyEnvironmentBlock___missing_CPU_support_npattern_bits_too_long:_exec:_Stdout_already_set116415321826934814453125582076609134674072265625address_string_too_shorthash_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, [0x50b368]
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, [0x50de95]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call sym.runtime.throw
call sym.runtime.printlock
lea eax, [0x50b368]
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, [0x50e8b1]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.gopanic