Function at 0x423a80
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x402346
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401648
xor eax, eax
mov ecx, 0x11
mov dword [ebp - 0x34], eax
lea edi, [ebp - 0x7c]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
xor esi, esi
rep stosd dword es:[edi], eax
xor ecx, ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xcc], esi
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
lea edx, [ebp - 0x8c]
push 0x10
push edx
call dword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
call dword [sym.imp.KERNEL32.DLL_WTSGetActiveConsoleSessionId]
cmp eax, esi
mov dword [ebp - 0x24], eax
jge 0x423b5e
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x34]
push eax
push ecx
push 0x10
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
push 0x423eac
jmp 0x423e8f
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], esi
push edx
push eax
call dword [sym.imp.WTSAPI32.DLL_WTSQueryUserToken]
cmp eax, esi
mov dword [ebp - 0x90], eax
je 0x423e33
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x423e33
mov ebx, dword [sym.imp.KERNEL32.DLL_CloseHandle]
push eax
call ebx
mov dword [ebp - 0x18], esi
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
lea ecx, [ebp - 0x18]
push ecx
push 0xf01ff
push eax
call dword [sym.imp.ADVAPI32.DLL_OpenProcessToken]
mov eax, dword [ebp - 0x18]
cmp eax, esi
je 0x423e33
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
push ecx
push 1
push 2
push esi
push esi
push eax
call dword [sym.imp.ADVAPI32.DLL_DuplicateTokenEx]
mov edx, dword [ebp - 0x18]
push edx
call ebx
mov eax, dword [ebp - 0x1c]
cmp eax, esi
jne 0x423bf0
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x34]
push eax
push ecx
push 0x10
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
push 0x423eac
jmp 0x423e8f
mov edi, dword [sym.imp.ADVAPI32.DLL_SetTokenInformation]
lea edx, [ebp - 0x24]
push 4
push edx
push 0xc
push eax
call edi
cmp eax, esi
mov dword [ebp - 0x90], eax
jne 0x423c2e
mov eax, dword [ebp - 0x1c]
push eax
call ebx
lea ecx, [ebp - 0x8c]
lea edx, [ebp - 0x34]
push ecx
push edx
push 0x10
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
push 0x423eac
jmp 0x423e8f
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x90]
push 4
push eax
push 0x1a
push ecx
mov dword [ebp - 0x90], 1
call edi
lea edx, [ebp - 0xa8]
push esi
push edx
mov dword [ebp - 0xc4], 0x405afc
mov dword [ebp - 0xcc], 8
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea eax, [ebp - 0xcc]
lea ecx, [ebp - 0xa8]
push eax
lea edx, [ebp - 0xb8]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0xa8]
push eax
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
lea eax, [ebp - 0xcc]
lea ecx, [ebp - 0xa8]
lea edx, [ebp - 0x20]
push esi
push 0x80
push eax
push ecx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xcc], 0x4008
call dword [sym.imp.MSVBVM60.DLL_rtcStrConvVar2]
lea edx, [ebp - 0xa8]
lea eax, [ebp - 0xbc]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVar2Vec]
lea ecx, [ebp - 0xbc]
lea edx, [ebp - 0x38]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryMove]
lea ecx, [ebp - 0xa8]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea eax, [ebp - 0x7c]
push 0x44
push eax
call dword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
cmp word [ebp + 0x10], si
mov dword [ebp - 0x7c], 0x44
mov dword [ebp - 0x50], 1
je 0x423d36
mov ecx, 1
jmp 0x423d38
xor ecx, ecx
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x94]
push ecx
push edx
mov word [ebp - 0x4c], ax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x94]
cmp ecx, esi
je 0x423d7f
cmp word [ecx], 1
jne 0x423d7f
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x423d7b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x94]
mov eax, edi
jmp 0x423d8b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
lea edx, [ebp - 0x94]
mov edi, eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x8c]
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x7c]
push eax
push ecx
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x98]
push edx
push eax
mov dword [ebp - 0x74], edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
mov ecx, dword [ebp - 0x1c]
push eax
push esi
push ecx
call dword [sym.imp.ADVAPI32.DLL_CreateProcessAsUserA]
mov edx, dword [ebp - 0x98]
mov edi, eax
lea eax, [ebp - 0x14]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToUnicode]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x90], edi
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov ecx, dword [ebp - 0x1c]
push ecx
call ebx
cmp dword [ebp - 0x90], esi
jne 0x423e19
lea edx, [ebp - 0x8c]
push 0x10
push edx
call dword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x34]
push eax
push ecx
push 0x10
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
push 0x423eac
jmp 0x423e8f
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x34]
push edx
push eax
push 0x10
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
push 0x423eac
jmp 0x423e8f
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x14]
call esi
lea ecx, [ebp - 0x20]
call esi
lea edx, [ebp - 0x38]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
ret