Function at 0xa22352
Capabilities:
Create process on windows

Disassembly:
push 0x108
push 0xa22648
call fcn.00a22756
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb8], ecx
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xbc], 0x20
lea eax, [ebp - 0xbc]
push eax
push esi
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_InitializeProcThreadAttributeList]
test eax, eax
je 0xa3c316
xor ecx, ecx
inc ecx
mov dword [ebp - 0xb4], ecx
push esi
push esi
push 4
lea eax, [ebp - 0xb4]
push eax
push 0x60001
push esi
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_UpdateProcThreadAttribute]
test eax, eax
je 0xa3c332
push 0x48
push esi
lea eax, [ebp - 0x118]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x118], 0x48
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], esi
xor ecx, ecx
inc ecx
mov dword [ebp - 0x104], ecx
push 0x64
pop eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xec], esi
mov word [ebp - 0xe8], cx
push 0x40
push esi
lea eax, [ebp - 0x64]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x68], 0x44
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x110], eax
mov dword [ebp - 4], esi
mov ecx, 0xa229b4
call fcn.00a229c9
test eax, eax
jne 0xa2247c
mov eax, 0xa22214
mov ecx, eax
call fcn.00a22258
mov dword [ebp - 0xb0], eax
test eax, eax
je 0xa3c36e
cmp dword [0xa450ac], 0
je 0xa30299
push 0x5c
pop edx
mov ecx, ebx
call fcn.00a22aea
test eax, eax
je 0xa224c0
push 0xa225ec
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
je 0xa34d83
mov eax, dword [0xa45094]
test eax, eax
jne 0xa25d34
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x118]
push eax
push 0xa45a20
push esi
push 0x80000
xor eax, eax
inc eax
push eax
push esi
push esi
push edi
push ebx
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_CreateProcessW]
mov edi, eax
test edi, edi
je 0xa30330
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xc8]
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov edx, dword [ebp - 0xb0]
mov ecx, 0xa229b4
call fcn.00a2269e
test edi, edi
je 0xa302ce
mov eax, dword [ebp - 0xa4]
movzx edi, al
xor edx, edx
inc edx
and edi, edx
movzx ecx, al
shr ecx, 1
and ecx, edx
test eax, eax
je 0xa36285
mov ebx, dword [ebp - 0xa8]
cmp dword [0xa450ac], 0
je 0xa302ab
push 2
pop ecx
mov dword [ebp - 0xac], esi
xor eax, eax
inc eax
mov dword [0xa45168], eax
test ebx, ebx
jne 0xa2b65e
mov ecx, dword [ebp - 0xa4]
call fcn.00a22302
mov dword [0xa45138], eax
mov dword [ebp - 0xa4], esi
mov esi, eax
mov dword [ebp - 0xac], esi
push esi
push 0xa22604
push 0x14
lea eax, [ebp - 0x4c]
push eax
call fcn.00a227c1
add esp, 0x10
lea edx, [ebp - 0x4c]
mov ecx, 0xa22634
call fcn.00a2269e
cmp esi, 0x20
jge 0xa34d63
mov edx, 0xa22610
mov ecx, 0xa22614
call fcn.00a2269e
test edi, edi
jne 0xa34d94
mov dword [ebp - 4], 0xfffffffe
call fcn.00a22934
mov eax, esi
call fcn.00a2279e
ret 0x10
cmp dword [eax + 0x30], 0
je 0xa224cd
jmp 0xa3c39b
cmp ebx, 4
je 0xa3c441
cmp ebx, ecx
jne 0xa225d6
mov eax, dword [ebp - 0xa4]
mov dword [0xa45130], eax
jmp 0xa225d6
cmp dword [0xa450b0], 0
jne 0xa2249e
jmp 0xa3c389
cmp dword [0xa45094], 0
jne 0xa2255e
jmp 0xa3c3e0
cmp dword [0xa450e4], 0xc1
je 0xa34d71
cmp dword [0xa450e4], 0x2e4
jne 0xa30323
call fcn.00a267ab
test al, al
je 0xa34d8d
push 0xa450e4
lea eax, [ebp - 0xa4]
push eax
movzx eax, word [ebp - 0xe8]
push eax
push 0xa45a20
mov eax, dword [ebp - 0xb8]
push dword [eax + 0x3c]
push ebx
push esi
call dword [sym.imp.ext_ms_win_cmd_util_l1_1_0.dll_ShellExecuteWorker]
mov edi, eax
test edi, edi
jne 0xa2252e
jmp 0xa3c3ca
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov dword [ebp - 0xac], eax
mov dword [0xa450e4], eax
jmp 0xa22516
cmp esi, 0x7e
jg 0xa225bf
jmp 0xa3c425
cmp byte [0xa45044], 0
je 0xa302de
jmp 0xa302ea
call 0xa3fe64
jmp 0xa224c0
mov edi, esi
jmp 0xa30323
call fcn.00a40f2b
jmp 0xa225d6
push 2
pop ecx
jmp 0xa3c41d
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov dword [0xa450e4], eax
mov ecx, ebx
call fcn.00a4079d
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0xa225e4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov dword [0xa450e4], eax
mov ecx, ebx
call fcn.00a4079d
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_DeleteProcThreadAttributeList]
jmp 0xa3c381
push ebx
mov edx, 0x104
mov ecx, esi
call fcn.00a21417
mov ecx, esi
call fcn.00a4079d
mov ecx, esi
call fcn.00a2107b
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push 0xa45214
call sub.msvcrt.dll__local_unwind4
add esp, 0xc
xor eax, eax
inc eax
jmp 0xa225e4
cmp dword [0xa45094], 0
jne 0xa2249e
jmp 0xa224c0
lea ecx, [ebp - 0xcc]
push ecx
lea ecx, [ebp - 0x118]
push ecx
push 0xa45a20
push esi
push 0x80000
xor ecx, ecx
inc ecx
push ecx
push esi
push esi
push edi
push ebx
push dword [eax + 0x30]
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_2.dll_CreateProcessAsUserW]
jmp 0xa224f4
mov ecx, 0x208
call fcn.00a213cb
mov esi, eax
test esi, esi
jne 0xa3c353
jmp 0xa3c36e
cmp byte [0xa45044], 0
je 0xa2255e
cmp dword [0xa450b0], 0
jne 0xa2255e
test ebx, ebx
jne 0xa2255e
test ecx, ecx
jne 0xa36285
mov ecx, eax
call fcn.00a40a89
push 2
pop ecx
cmp cx, ax
jne 0xa22561
push 4
pop ebx
jmp 0xa22561
push esi
push 0xa3c464
push 0xc
lea eax, [ebp - 0x80]
push eax
call fcn.00a227c1
add esp, 0x10
lea edx, [ebp - 0x80]
jmp 0xa225c4
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0xa225d6
push eax
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov dword [ebp - 0xa4], esi
jmp 0xa225d6