Function at 0x431820
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x431d51
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rsp + 0x48], 0
mov rax, qword [sym.imp.kernel32.dll_DuplicateHandle]
lea rcx, [rsp + 0x48]
mov qword [rsp], rax
mov qword [rsp + 8], 0xffffffffffffffff
mov qword [rsp + 0x10], 0xfffffffffffffffe
mov qword [rsp + 0x18], 0xffffffffffffffff
mov qword [rsp + 0x20], rcx
movups xmmword [rsp + 0x28], xmm15
mov qword [rsp + 0x38], 2
call sym.runtime.stdcall7.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x40], 0
nop
je 0x431cf0
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0xa0], rax
test byte [rax], al
lea rcx, [rax + 0x4f8]
mov qword [rsp + 0xa8], rcx
nop
mov rax, rcx
call sym.runtime.lock2
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xa0]
mov qword [rdx + 0x500], rcx
mov rax, qword [sym.imp.kernel32.dll_GetCurrentThreadId]
mov rcx, qword [r14 + 0x30]
movups xmmword [rcx + 0x2e8], xmm15
call sym.runtime.stdcall
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x48], rax
cmp qword [rcx + 0x518], 0
jne 0x43196e
cmp byte [0x007467f3], 0
je 0x43196e
mov rax, qword [sym.imp.kernel32.dll_CreateWaitableTimerExW]
mov qword [rsp], rax
movups xmmword [rsp + 8], xmm15
mov qword [rsp + 0x18], 2
mov qword [rsp + 0x20], 0x100003
call sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x518], rax
test rax, rax
je 0x431c90
cmp qword [rcx + 0x528], 0
jne 0x431a3f
cmp byte [0x00746802], 0
je 0x431a3f
mov rax, qword [sym.imp.kernel32.dll_CreateWaitableTimerExW]
mov qword [rsp], rax
movups xmmword [rsp + 8], xmm15
mov qword [rsp + 0x18], 2
mov qword [rsp + 0x20], 0x100003
call sym.runtime.stdcall4.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + 0x520], rax
nop word [rax + rax]
test rax, rax
je 0x431c30
mov rax, qword [0x007012b0]
lea rdx, [rcx + 0x528]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x10000000
mov qword [rsp + 0x18], 0
call sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x528], 0
je 0x431be5
nop
nop
mov rax, qword [rsp + 0xa8]
call sym.runtime.unlock2
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
mov rcx, qword [sym.imp.kernel32.dll_VirtualQuery]
lea rdx, [rsp + 0x50]
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 0x30
call sym.runtime.stdcall3.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x20], 0
je 0x431b80
mov rax, qword [rsp + 0x58]
lea rcx, [rax + 0x4000]
mov qword [rsp + 0x88], rcx
mov rdx, qword [r14 + 8]
mov qword [rsp + 0x98], rdx
cmp rdx, rcx
jb 0x431b11
sub rdx, rax
lea rax, [rdx - 0x4000]
cmp rax, 0x4000000
ja 0x431b11
mov qword [r14], rcx
mov rax, qword [r14]
add rax, 0x13a0
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rax
call sym.runtime.stackcheck.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
add rsp, 0xb0
pop rbp
ret
call sym.runtime.printlock
lea rax, [0x004f8136]
mov ebx, 0x13
call sym.runtime.printstring
mov rax, qword [rsp + 0x88]
call sym.runtime.printhex
lea rax, [0x00520688]
mov ebx, 1
call sym.runtime.printstring
mov rax, qword [rsp + 0x98]
call sym.runtime.printhex
lea rax, [0x004f4aa6]
mov ebx, 2
nop
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, str.bad_g0_stackself_preempt__recovered_bad_recoverybad_g_statusentersyscallwirep:_p__m__p__statusreleasep:_m_sysmonwait_preemptoffcas64_failed_m__gsignal_byte_limit_nruntime:_spabi_mismatchwrong_timerswaveOutClosewaveOutResetwaveOutWriteWAVEERR_SYNCOpenServiceWRevertToSelfCreateEventWGetConsoleCPUnlockFileExVirtualQuerynot_pollablegotypesaliashttpmuxgo121multipathtcprandautoseedtlsunsafeekmCfgMgr32.dllsetupapi.dllwintrust.dllwtsapi32.dllReportEventWCreateMutexWGetCommStateGetProcessIdLoadResourceLockResourceReleaseMutexResumeThreadSetCommBreakSetCommStateSetConsoleCPSetErrorModeSetStdHandleThread32NextVirtualAllocNtCreateFileCoCreateGuidLittleEndianRCodeSuccessRCodeRefused3814697265625level_3_resetsrmount_errortimer_expiredexchange_fullRegEnumKeyExWRegOpenKeyExWCertOpenStoreFindNextFileWMapViewOfFileVirtualUnlockWriteConsoleWFreeAddrInfoWgethostbynamegetservbynamewakeableSleepprofMemActiveprofMemFuturetraceStackTabexecRInternaltestRInternalGC_sweep_waitout_of_memory_is_nil__not_value_method_bad_map_state_span.base__bad_flushGen___not_pointer___sweepgen__MB_globals___work.nproc__work.nwait__nStackRoots_flushedWork_double_unlock_s.spanclass_MB__workersmin_too_large_byte_block__runtime:_valruntime:_seqfatal_error:__idlethreads_syscalltickload64_failedxadd64_failedxchg64_failednil_stackbase_n_tschedpc:__gp__status_pluginpath_:_unknown_pc__called_from_runtime:_pidRegDeleteKeyWRegEnumValueWMMRESULT___d_GetTempPath2WModule32NextWRtlGetVersiongocacheverifyinstallgoroothtml_templatetlsmaxrsasizeDeleteServiceStartServiceWFindResourceWGetDriveTypeWThread32FirstWaitCommEventRtlInitStringCoTaskMemFreeEnumProcessesShellExecuteWExitWindowsExGetClassNameWtimeEndPeriodWTSFreeMemoryDetermination_is_a_directoryunexpected_EOFasynctimerchan1907348632812595367431640625unsafe.Pointer_on_zero_Valueunknown_methodfile_too_largelevel_2_haltedlevel_3_haltedtoo_many_linksno_such_deviceprotocol_errortext_file_busytoo_many_usersCryptGenRandomCertCloseStoreCreateProcessWFindFirstFileWFormatMessageWGetConsoleModeGetProcAddressProcess32NextWSetFilePointerNetUserGetInfoGetUserNameExWTranslateNameWgetprotobyname_procedure_in_winapi_error_userArenaStateGC__dedicated_read_mem_statsgcstoptheworldprofstackdepthtraceallocfreeGC_assist_waitfinalizer_waitsync.Cond.Waits.allocCount_nil_elem_type__to_finalizer_GC_worker_initruntime:_fullruntime:_wantMB__allocated_RtlGetVersion
mov ebx, 0xc
call sym.runtime.throw
nop dword [rax + rax]
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x90], rax
call sym.runtime.printlock
lea rax, [0x004fd224]
mov ebx, 0x24
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004fcc18]
mov ebx, 0x22
nop dword [rax + rax]
call sym.runtime.throw
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x80], rax
call sym.runtime.printlock
lea rax, [0x004ff867]
mov ebx, 0x34
call sym.runtime.printstring
mov rax, qword [rsp + 0x80]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004fceef]
mov ebx, 0x23
call sym.runtime.throw
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x90], rax
call sym.runtime.printlock
lea rax, [0x004feb40]
mov ebx, 0x2d
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004ff1cb]
mov ebx, 0x30
call sym.runtime.throw
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x90], rax
call sym.runtime.printlock
lea rax, [0x004feb40]
mov ebx, 0x2d
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004ff1cb]
mov ebx, 0x30
call sym.runtime.throw
call sym.runtime.getlasterror.abi0
xorps xmm15, xmm15
mov r14, qword [0x00746a50]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, dword [rsp]
mov qword [rsp + 0x90], rax
call sym.runtime.printlock
lea rax, [0x004feb13]
mov ebx, 0x2d
call sym.runtime.printstring
mov rax, qword [rsp + 0x90]
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x004fd5b6]
mov ebx, 0x25
call sym.runtime.throw
nop
call sym.runtime.morestack_noctxt.abi0
jmp sym.runtime.minit