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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x669f16
sub esp, 0x74
mov dword [esp + 0x20], 0
lea eax, [0x76c129]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.004e2780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jbe 0x669f0c
mov dword [esp], 2
mov dword [esp + 4], ecx
lea eax, [esp + 0x20]
mov dword [esp + 8], eax
call fcn.004e3050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x669bf5
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
mov ecx, dword [eax + 0x3c]
mov ecx, dword [eax + ecx + 0x80]
add ecx, eax
jmp 0x669c0c
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
add esp, 0x74
ret
mov edx, dword [esp + 0x68]
lea ecx, [edx + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x669c5b
mov dword [esp + 0x68], ecx
lea ebx, [eax + edx]
movzx edx, byte [eax + edx]
test dl, dl
je 0x669c2b
mov edx, ebx
xor ebp, ebp
jmp 0x669ecc
xor edx, edx
xor ebx, ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x76aa44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 9
call fcn.004b4620
movzx eax, byte [esp + 0x10]
test al, al
je 0x669c01
jmp 0x669ebd
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x669c6e
mov edx, dword [ecx]
add edx, eax
nop
mov ecx, dword [ecx + 0x10]
add ecx, eax
jmp 0x669ca7
lea eax, [0x73cfa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x76e117]
mov dword [eax], ecx
lea ecx, [0x7caa44]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
add edx, 4
add ecx, 4
mov dword [esp + 0x70], ecx
mov ebx, dword [edx]
test ebx, ebx
je 0x669cdc
test ebx, 0x80000000
jne 0x669ca1
mov dword [esp + 0x64], edx
lea ebp, [eax + ebx + 2]
movzx ebx, byte [eax + ebx + 2]
test bl, bl
jne 0x669cd3
xor ebx, ebx
xor ebp, ebp
jmp 0x669e69
mov ebx, ebp
xor esi, esi
jmp 0x669e23
mov eax, dword [edx]
test eax, eax
je 0x669dee
mov dword [esp + 0x1c], 0
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0xc], ecx
call fcn.004e39b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x669de2
mov eax, dword [esp + 0x70]
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
lea edx, [0x740ea0]
mov dword [esp], edx
call fcn.0040b440
mov eax, dword [esp + 4]
lea ecx, [0x669f20]
mov dword [eax], ecx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x669d59
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], ecx
jmp 0x669d69
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x70]
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
nop
lea ecx, [0x733e60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], 1
call fcn.004541c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], 4
mov dword [esp + 8], eax
lea eax, [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.004e39b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x669dce
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
add esp, 0x74
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
add esp, 0x74
ret
lea eax, [0x73cfa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x771c9c]
mov dword [eax], ecx
lea ecx, [0x7caa44]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
inc esi
inc ebp
movzx edi, byte [ebp]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x669e21
test esi, esi
jl 0x669eb8
mov ebp, ebx
neg ebx
cmp esi, ebx
ja 0x669eb3
lea eax, [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00445730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x64]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
cmp ebx, 0x11
jne 0x669ca1
mov dword [esp], ebp
lea eax, str.RtlPcToFileHeaderSeBackupPrivilegeSentence_TerminalSystemFunction036Too_Many_RequestsTransfer_EncodingUnaligned_sectionUnified_IdeographWSAEnumProtocolsWWTSQueryUserTokenassertion_failurebad_TinySizeClassdecryption_failedentersyscallblockexec_format_errorfractional_secondframe_ping_lengthg_already_scannedgp.waiting___nilhandshake_failureif_modified_sinceillegal_parameterinteger_too_largeinvalid_BMPStringinvalid_IA5Stringinvalid_bit_size_locked_m0_woke_upmark___bad_statusmarkBits_overflowmissing_extensionno_data_availablenotetsleepg_on_g0permission_deniedreflect.Value.Intreflect.Value.Lenreflect:_New_nil_reflect:_call_of_runtime.newosprocruntime_internal_scanobject_n__0select__no_cases_swept_cached_spansync.RWMutex.Lockthread_exhaustiontransfer_encodingunknown_caller_pcunknown_type_kindunrecognized_namewait_for_GC_cyclewine_get_version
mov dword [esp + 4], eax
mov dword [esp + 8], 0x11
call fcn.00403310
movzx eax, byte [esp + 0xc]
test al, al
jne 0x669ea6
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
jmp 0x669ca1
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
jmp 0x669cdc
call fcn.00450480
call fcn.00450480
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
jmp 0x669c5b
inc ebp
inc ebx
movzx esi, byte [ebx]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x669eca
test ebp, ebp
jl 0x669f07
mov ebx, edx
neg edx
cmp ebp, edx
ja 0x669f02
lea eax, [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00445730
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x669c2f
call fcn.00450480
call fcn.00450480
xor eax, eax
mov ecx, eax
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00669b70