Function at 0x76b6a640
Capabilities:
Create process on windows

Disassembly:
push 0xb0
push 0x76b9e698
call fcn.76b4e108
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
xor edi, edi
mov dword [ebp - 0x68], edi
mov esi, edi
mov dword [ebp - 0x38], edi
mov ebx, edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], edi
xor ecx, ecx
mov word [ebp - 0x20], cx
mov dword [ebp - 0x58], ecx
test eax, eax
jne 0x76b6a693
call sym.msvcrt.dll__errno
mov dword [eax], 0x16
push edi
push edi
push edi
push edi
push edi
call sym.msvcrt.dll__invalid_parameter
add esp, 0x14
xor eax, eax
jmp 0x76b6ac16
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x76b6a674
movzx eax, word [ecx]
mov edx, eax
mov dword [ebp - 0x28], 0x20
cmp ax, word [ebp - 0x28]
jne 0x76b6a6bc
mov edx, dword [ebp - 0x28]
add ecx, 2
movzx eax, word [ecx]
cmp ax, dx
je 0x76b6a6af
mov edx, eax
push 0x77
pop eax
cmp dx, ax
je 0x76b6a6ce
cmp dx, 0x72
je 0x76b6a6ce
mov eax, edi
jmp 0x76b6a6d1
xor eax, eax
inc eax
test eax, eax
je 0x76b6a674
mov word [ebp - 0x24], dx
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
cmp ax, word [ebp - 0x28]
jne 0x76b6a6f7
mov edx, dword [ebp - 0x28]
lea ecx, [ecx + 2]
movzx eax, word [ecx]
cmp ax, dx
je 0x76b6a6ea
mov edx, eax
push 0x74
pop ecx
push 0x62
pop eax
test dx, dx
je 0x76b6a70c
cmp dx, cx
je 0x76b6a70c
cmp dx, ax
jne 0x76b6a70f
xor edi, edi
inc edi
test edi, edi
jne 0x76b6a72a
call sym.msvcrt.dll__errno
mov dword [eax], 0x16
xor eax, eax
push eax
push eax
push eax
push eax
push eax
jmp 0x76b6a684
mov word [ebp - 0x22], dx
cmp dx, cx
jne 0x76b6a73a
mov esi, 0x4000
jmp 0x76b6a744
cmp dx, ax
jne 0x76b6a744
mov esi, 0x8000
or esi, 0x80
push esi
push 0x400
lea eax, [ebp - 0x54]
push eax
call sym.msvcrt.dll__pipe
add esp, 0xc
cmp eax, 0xffffffff
je 0x76b6ac14
push 0x77
pop eax
xor esi, esi
cmp word [ebp - 0x24], ax
jne 0x76b6a78c
xor eax, eax
mov edi, eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x60]
inc esi
jmp 0x76b6a7a4
inc esi
mov edi, esi
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x54]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x3c], eax
push 9
call fcn.76b5862a
pop ecx
test eax, eax
jne 0x76b6a7ca
push dword [ebp - 0x54]
call sym.msvcrt.dll__close
push dword [ebp - 0x50]
call sym.msvcrt.dll__close
pop ecx
pop ecx
jmp 0x76b6a68c
push 9
call sym.msvcrt.dll__lock
pop ecx
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], esi
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetCurrentProcess]
mov edx, eax
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx]
push 2
push esi
xor eax, eax
push eax
lea eax, [ebp - 0x38]
push eax
push edx
mov eax, ecx
sar eax, 5
and ecx, 0x1f
imul ecx, ecx, 0x24
mov eax, dword [eax*4 + sym.msvcrt.dll___pioinfo]
push dword [eax + ecx]
push edx
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_DuplicateHandle]
test eax, eax
je 0x76b6abe2
mov eax, dword [ebp - 0x40]
push dword [eax]
call sym.msvcrt.dll__close
mov eax, dword [ebp - 0x48]
xor ebx, ebx
mov dword [eax], ebx
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call sym.msvcrt.dll__wfdopen
add esp, 0xc
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x76b6abdf
push ebx
call fcn.76b67aab
pop ecx
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x76b6abc7
push 0x76af48a4
push ebx
lea eax, [ebp - 0x30]
push eax
call fcn.76b4b5ed
add esp, 0xc
mov esi, eax
test esi, esi
je 0x76b6a886
cmp esi, 0x16
jne 0x76b6a882
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.76b4977b
add esp, 0x14
test esi, esi
jne 0x76b6a890
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x28], ebx
test ebx, ebx
jne 0x76b6a898
mov ebx, 0x76af48bc
mov dword [ebp - 0x28], ebx
push 0x44
pop esi
push esi
xor eax, eax
push eax
lea eax, [ebp - 0xc0]
push eax
call sym.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0x94], 0x100
mov eax, dword [ebp - 0x38]
mov ecx, dword [sym.msvcrt.dll___pioinfo]
test edi, edi
mov edx, eax
je 0x76b6a8cf
mov edx, dword [ecx]
mov dword [ebp - 0x88], edx
cmp edi, 1
je 0x76b6a8dd
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 0x48]
mov dword [ebp - 0x80], eax
mov ecx, ebx
lea edx, [ecx + 2]
xor ebx, ebx
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x76b6a8f0
sub ecx, edx
sar ecx, 1
mov edi, dword [ebp - 0x44]
mov edx, edi
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x76b6a907
sub edx, esi
sar edx, 1
lea esi, [ecx + 5]
add esi, edx
push 2
push esi
call fcn.76b38729
pop ecx
pop ecx
mov ebx, eax
test ebx, ebx
je 0x76b6abc7
push dword [ebp - 0x28]
push esi
push ebx
call sym.msvcrt.dll_wcscpy_s
add esp, 0xc
test eax, eax
je 0x76b6a94f
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.76b4977b
add esp, 0x14
push 0x76af6f9c
push esi
push ebx
call sym.msvcrt.dll_wcscat_s
add esp, 0xc
test eax, eax
je 0x76b6a971
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.76b4977b
add esp, 0x14
push edi
push esi
push ebx
call sym.msvcrt.dll_wcscat_s
add esp, 0xc
test eax, eax
je 0x76b6a98f
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.76b4977b
add esp, 0x14
xor eax, eax
lea edi, [ebp - 0x7c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call sym.msvcrt.dll__errno
mov edi, dword [eax]
mov dword [ebp - 0x44], edi
xor eax, eax
push eax
mov esi, dword [ebp - 0x28]
push esi
call sym.msvcrt.dll__waccess_s
pop ecx
pop ecx
test eax, eax
jne 0x76b6a9d7
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xc0]
push eax
xor eax, eax
push eax
push eax
push eax
push 1
push eax
push eax
push ebx
push esi
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateProcessW]
mov esi, eax
jmp 0x76b6ab7a
xor eax, eax
mov dword [ebp - 0x34], eax
push 2
push 0x104
call fcn.76b38729
pop ecx
pop ecx
mov esi, eax
xor eax, eax
test esi, esi
jne 0x76b6aa15
push eax
call sym.msvcrt.dll_free
push ebx
call sym.msvcrt.dll_free
push dword [ebp - 0x30]
call sym.msvcrt.dll_free
add esp, 0xc
call sym.msvcrt.dll__errno
mov dword [eax], edi
jmp 0x76b6abc7
push 0x76af4894
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.76b4b5ed
add esp, 0xc
mov edi, eax
test edi, edi
je 0x76b6aa73
cmp edi, 0x16
jne 0x76b6aa41
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.76b4977b
add esp, 0x14
test edi, edi
je 0x76b6aa73
push dword [ebp - 0x34]
call sym.msvcrt.dll_free
push esi
call sym.msvcrt.dll_free
push ebx
call sym.msvcrt.dll_free
push dword [ebp - 0x30]
call sym.msvcrt.dll_free
add esp, 0x10
call sym.msvcrt.dll__errno
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
jmp 0x76b6abc7
mov eax, dword [ebp - 0x34]
xor edi, edi
push 0x103
push esi
push eax
call fcn.76b4e345
add esp, 0xc
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x76b6ab64
cmp word [esi], di
je 0x76b6ab64
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x76b6aaa0
sub ecx, edx
sar ecx, 1
movzx eax, word [esi + ecx*2 - 2]
cmp eax, 0x5c
je 0x76b6aae2
cmp eax, 0x2f
je 0x76b6aae2
push 0x76af48a0
push 0x104
push esi
call sym.msvcrt.dll_wcscat_s
add esp, 0xc
test eax, eax
je 0x76b6aae2
push edi
push edi
push edi
push edi
push edi
call fcn.76b4977b
add esp, 0x14
mov edx, esi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, di
jne 0x76b6aae7
sub edx, ecx
sar edx, 1
mov ecx, dword [ebp - 0x28]
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x68]
jne 0x76b6aafc
sub ecx, edi
sar ecx, 1
lea eax, [ecx + edx]
mov ecx, 0x104
cmp eax, ecx
jae 0x76b6ab64
push dword [ebp - 0x28]
push ecx
push esi
call sym.msvcrt.dll_wcscat_s
add esp, 0xc
xor edi, edi
test eax, eax
je 0x76b6ab38
push edi
push edi
push edi
push edi
push edi
call fcn.76b4977b
add esp, 0x14
push edi
push esi
call sym.msvcrt.dll__waccess_s
pop ecx
pop ecx
test eax, eax
jne 0x76b6abbb
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xc0]
push eax
push edi
push edi
push edi
push 1
push edi
push edi
push ebx
push esi
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateProcessW]
mov ecx, eax
mov dword [ebp - 0x58], ecx
push dword [ebp - 0x34]
call sym.msvcrt.dll_free
push esi
call sym.msvcrt.dll_free
pop ecx
pop ecx
mov edi, dword [ebp - 0x44]
mov esi, dword [ebp - 0x58]
push ebx
call sym.msvcrt.dll_free
push dword [ebp - 0x30]
call sym.msvcrt.dll_free
pop ecx
pop ecx
push dword [ebp - 0x38]
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
test esi, esi
je 0x76b6aba0
push dword [ebp - 0x78]
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
call sym.msvcrt.dll__errno
mov dword [eax], edi
mov ecx, dword [ebp - 0x5c]
test esi, esi
je 0x76b6abc3
mov eax, dword [ebp - 0x7c]
mov dword [ecx + 4], eax
mov ebx, dword [ebp - 0x2c]
mov dword [ecx], ebx
jmp 0x76b6ac08
mov eax, dword [ebp - 0x6c]
jmp 0x76b6aa78
xor eax, eax
mov dword [ecx], eax
mov ebx, dword [ebp - 0x2c]
push ebx
call sym.msvcrt.dll_fclose
pop ecx
mov esi, dword [ebp - 0x3c]
xor eax, eax
mov dword [esi], eax
mov ebx, eax
mov dword [ebp - 0x2c], ebx
jmp 0x76b6abe5
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
xor edi, edi
cmp dword [eax], edi
je 0x76b6abf9
mov eax, dword [ebp - 0x40]
push dword [eax]
call sym.msvcrt.dll__close
pop ecx
cmp dword [esi], edi
je 0x76b6ac08
mov eax, dword [ebp - 0x4c]
push dword [eax]
call sym.msvcrt.dll__close
pop ecx
mov dword [ebp - 4], 0xfffffffe
call fcn.76b6ac29
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret