Function at 0x4ad0e9d4
Capabilities:
Create process on windows

Disassembly:
or dword [ebp - 0x20294], edi
or byte [ebp - 0x20290], 7
jmp 0x4ad0eb7c
mov eax, edi
jmp 0x4ad0ee4a
mov byte [ebp - 0x2023d], 1
jmp 0x4ad0ec79
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4ad2ba04], eax
cmp byte [ebp - 0x20235], bl
jne 0x4ad0a5a2
cmp byte [0x4ad2fa64], bl
je 0x4ad18c8f
cmp eax, 0xc1
jne 0x4ad18c8f
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0x20310]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x20310], 0x3c
mov dword [ebp - 0x2030c], 0x88140
test byte [ebp - 0x2023c], 0x10
je 0x4ad0a5d6
mov dword [ebp - 0x2030c], 0x80140
lea eax, [ebp - 0x4234]
mov dword [ebp - 0x20300], eax
mov eax, dword [ebp - 0x202b4]
mov dword [ebp - 0x202e8], eax
lea eax, [ebp - 0x20234]
mov dword [ebp - 0x202fc], eax
mov eax, dword [ebp - 0x2025c]
mov dword [ebp - 0x202f8], eax
movzx eax, word [ebp - 0x20290]
mov dword [ebp - 0x202f4], eax
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x20310]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov dword [ebp - 0x202d4], eax
cmp eax, ebx
je 0x4ad18c32
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x4ad18c8f
mov eax, dword [ebp - 0x202d8]
mov dword [ebp - 0x202d0], eax
jmp 0x4ad0ee28
cmp dword [ebp - 0x202b4], ebx
jne 0x4ad0eb14
push 0x4000
lea eax, [ebp - 0x10234]
push eax
lea eax, [ebp - 0x20244]
push eax
push edi
call fcn.4ad0ee89
cmp eax, edi
je 0x4ad0640b
lea eax, [ebp - 0x10234]
push eax
call fcn.4ad01349
test eax, eax
je 0x4ad0a838
lea eax, [ebp - 0x10234]
push eax
call fcn.4ad01349
push eax
lea eax, [ebp - 0x10234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x10234]
mov dword [ebp - 0x202b4], eax
jmp 0x4ad0eb7c
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ad0ee78
push 0x4ad1f18a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x20340
call fcn.4ad02273
mov eax, dword [0x4ad33b78]
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2027c], eax
xor ebx, ebx
mov dword [ebp - 0x20250], ebx
mov dword [ebp - 0x2024c], ebx
mov dword [ebp - 0x20248], ebx
mov dword [ebp - 0x20264], ebx
mov esi, 0x4ad0ee64
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20260], ebx
mov dword [ebp - 0x20258], ebx
mov word [ebp - 0x4234], bx
mov word [ebp - 0x20234], bx
mov dword [ebp - 0x2025c], ebx
mov dword [ebp - 0x2023c], 0x10
mov dword [ebp - 0x202c0], 0x44
mov dword [ebp - 0x202bc], ebx
mov dword [ebp - 0x202b8], ebx
mov dword [ebp - 0x202b4], ebx
mov dword [ebp - 0x202b0], ebx
mov dword [ebp - 0x202ac], ebx
mov dword [ebp - 0x202a8], ebx
mov dword [ebp - 0x202a4], ebx
mov dword [ebp - 0x20294], ebx
mov word [ebp - 0x20290], 1
mov word [ebp - 0x2028e], bx
mov dword [ebp - 0x2028c], ebx
push 0xfffffffffffffff6
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
call esi
mov dword [ebp - 0x20288], eax
push 0xfffffffffffffff5
call esi
mov dword [ebp - 0x20284], eax
push 0xfffffffffffffff4
call esi
mov dword [ebp - 0x20280], eax
mov eax, dword [ebp - 0x2027c]
cmp eax, ebx
je 0x4ad1887f
cmp word [eax], bx
je 0x4ad0eb8b
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
xor edi, edi
inc edi
push ebx
push eax
call fcn.4ad02b83
mov dword [ebp - 0x20244], eax
mov cx, word [eax]
cmp cx, 0x22
je 0x4ad0a7df
push 0x2000
cmp cx, word [0x4ad33b88]
je 0x4ad0ef09
lea eax, [ebp - 0x4234]
push eax
lea eax, [ebp - 0x20244]
push eax
push ebx
call fcn.4ad0ee89
cmp eax, edi
je 0x4ad0640b
mov esi, dword [ebp - 0x20244]
cmp word [esi], bx
je 0x4ad0eb69
push esi
lea eax, [ebp - 0x20234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x20234]
mov dword [ebp - 0x20248], eax
push ebx
push esi
call fcn.4ad01323
mov dword [ebp - 0x20244], eax
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
mov eax, dword [ebp - 0x20244]
cmp word [eax], bx
jne 0x4ad0eafa
mov edi, dword [sym.imp.msvcrt.dll_wcscpy]
cmp word [ebp - 0x4234], bx
je 0x4ad18a01
cmp word [ebp - 0x4234], 0x22
je 0x4ad0ebc1
push 0x20
lea eax, [ebp - 0x4234]
push eax
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
jne 0x4ad18a15
lea eax, [ebp - 0x4234]
push eax
lea eax, [ebp - 0x14234]
push eax
call edi
pop ecx
pop ecx
lea eax, [ebp - 0x4234]
push eax
call fcn.4ad01349
test eax, eax
je 0x4ad0ebfb
lea eax, [ebp - 0x4234]
push eax
call fcn.4ad01349
push eax
lea eax, [ebp - 0x4234]
push eax
call edi
pop ecx
pop ecx
mov esi, dword [sym.imp.msvcrt.dll_wcscat]
mov byte [ebp - 0x2023d], bl
mov byte [ebp - 0x20235], bl
lea eax, [ebp - 0x20270]
push eax
lea eax, [ebp - 0x4234]
push eax
push 0x2b
call fcn.4ad01cad
cmp eax, 0xffffffff
jne 0x4ad06412
lea eax, [ebp - 0x4234]
push eax
lea eax, [ebp - 0xc234]
push eax
call edi
pop ecx
pop ecx
lea eax, [ebp - 0x4234]
mov dword [ebp - 0x20320], eax
push eax
lea eax, [ebp - 0x20358]
push eax
call fcn.4ad03357
cmp eax, ebx
je 0x4ad18ae7
cmp eax, 3
je 0x4ad18ae7
cmp eax, 2
je 0x4ad06412
cmp eax, 5
je 0x4ad18ad2
cmp byte [ebp - 0x20235], bl
jne 0x4ad0ecd3
cmp byte [ebp - 0x2023d], bl
jne 0x4ad18b05
lea eax, [ebp - 0x14234]
push eax
lea eax, [ebp - 0x1c234]
push eax
call edi
push 0x4ad05d98
lea eax, [ebp - 0x1c234]
push eax
call esi
add esp, 0x10
cmp dword [ebp - 0x20248], ebx
je 0x4ad0ecc7
push dword [ebp - 0x20248]
lea eax, [ebp - 0x1c234]
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x1c234]
mov dword [ebp - 0x20248], eax
cmp dword [ebp - 0x20260], ebx
jne 0x4ad18c10
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov dword [ebp - 0x20268], eax
lea ecx, [ebp - 0x2024c]
push ecx
push ebx
push ebx
push 2
push eax
mov edi, dword [sym.imp.USER32.dll_GetUserObjectInformationW]
call edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_GetThreadDesktop]
mov dword [ebp - 0x2026c], eax
lea ecx, [ebp - 0x20250]
push ecx
push ebx
push ebx
push 2
push eax
call edi
mov eax, dword [ebp - 0x20250]
mov ecx, dword [ebp - 0x2024c]
lea eax, [eax + ecx + 0x20]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x20254], eax
cmp eax, ebx
je 0x4ad0eda9
mov esi, eax
lea eax, [ebp - 0x2024c]
push eax
push dword [ebp - 0x2024c]
push esi
push 2
push dword [ebp - 0x20268]
call edi
test eax, eax
je 0x4ad0eda9
mov eax, dword [ebp - 0x2024c]
cmp eax, ebx
jbe 0x4ad0ed81
shr eax, 1
mov ecx, esi
lea esi, [ecx + eax*2 - 2]
mov word [esi], 0x5c
inc esi
inc esi
lea eax, [ebp - 0x20250]
push eax
push dword [ebp - 0x20250]
push esi
push 2
push dword [ebp - 0x2026c]
call edi
test eax, eax
je 0x4ad0eda9
mov eax, dword [ebp - 0x20254]
mov dword [ebp - 0x202b8], eax
cmp byte [ebp - 0x20235], bl
jne 0x4ad18c1e
lea eax, [ebp - 0x202d0]
push eax
lea eax, [ebp - 0x202c0]
push eax
push dword [ebp - 0x2025c]
push dword [ebp - 0x20264]
mov eax, dword [ebp - 0x2023c]
or eax, 0x400
push eax
push 1
push ebx
push ebx
push dword [ebp - 0x20248]
lea eax, [ebp - 0x4234]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
cmp dword [ebp - 0x20260], ebx
jne 0x4ad18c25
push dword [ebp - 0x20254]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp esi, ebx
je 0x4ad0a578
push dword [ebp - 0x202cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x202d0], ebx
je 0x4ad0ee48
push dword [ebp - 0x202d0]
cmp dword [ebp - 0x20258], ebx
jne 0x4ad1070b
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.4ad01305
pop edi
pop esi
pop ebx
leave
ret 4
inc eax
inc eax
mov dword [ebp - 0x20244], eax
lea eax, [ebp - 0x8234]
push eax
lea eax, [ebp - 0x20244]
push eax
push edi
call fcn.4ad0ee89
cmp eax, edi
je 0x4ad0640b
push 0x4ad0f134
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad18887
push 0x4ad0f11c
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad18893
push 0x4ad0f118
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad1889f
push dword [ebp - 0x8234]
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
cmp ax, 0x44
je 0x4ad188c4
push 0x4ad0f10c
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad18970
push dword [ebp - 0x8234]
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
cmp ax, 0x49
je 0x4ad1897c
push dword [ebp - 0x8234]
call dword [sym.imp.msvcrt.dll_towupper]
pop ecx
cmp ax, 0x3f
je 0x4ad18a61
push 0x4ad0f104
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad18996
push 0x4ad0f0fc
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad063f9
push 0x4ad0f0f4
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad189a2
push 0x4ad0f0e4
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad189b4
push 0x4ad0f0d0
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad189c0
push 0x4ad0f0bc
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad189cc
push 0x4ad0f0ac
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
je 0x4ad189d8
push 0x4ad0f0a0
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
jne 0x4ad189e4
mov dword [ebp - 0x20258], edi
jmp 0x4ad0eb7c
call fcn.4ad02cf4
mov dword [0x4ad2fa20], eax
jmp 0x4ad0ee48
lea eax, [ebp - 0x2c]
jmp 0x4ad0eae8
or byte [ebp - 0x2023b], 0x80
jmp 0x4ad0eb7c
or byte [ebp - 0x2023b], 0x40
jmp 0x4ad0eb7c
mov dword [ebp - 0x20258], ebx
mov dword [ebp - 0x20260], edi
mov eax, dword [ebp - 0x2023c]
and eax, 0xffffffef
or eax, 0x200
mov dword [ebp - 0x2023c], eax
jmp 0x4ad0eb7c
lea eax, [ebp - 0x8232]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
test eax, eax
jbe 0x4ad188de
lea esi, [ebp - 0x8232]
jmp 0x4ad18917
push ebx
push dword [ebp - 0x20244]
call fcn.4ad02b83
mov dword [ebp - 0x20244], eax
push 0x2000
lea eax, [ebp - 0x8234]
push eax
lea eax, [ebp - 0x20244]
push eax
push edi
call fcn.4ad0ee89
cmp eax, edi
je 0x4ad0640b
lea esi, [ebp - 0x8234]
push esi
call fcn.4ad01349
test eax, eax
je 0x4ad18937
push esi
call fcn.4ad01349
push eax
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x234]
mov dword [ebp - 0x2025c], eax
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
cmp eax, 0x104
jbe 0x4ad0eb76
lea eax, [ebp - 0x234]
push eax
push edi
push 0x2362
call fcn.4ad0606f
add esp, 0xc
jmp 0x4ad0640b
or byte [ebp - 0x2023c], 0x80
jmp 0x4ad0eb7c
mov eax, dword [0x4ad2fa7c]
cmp eax, ebx
je 0x4ad0eb7c
mov eax, dword [eax]
mov dword [ebp - 0x20264], eax
jmp 0x4ad0eb7c
or dword [ebp - 0x2023c], 0x40
jmp 0x4ad0eb7c
or dword [ebp - 0x20294], edi
or byte [ebp - 0x20290], 3
jmp 0x4ad0eb7c
or dword [ebp - 0x2023c], 0x20
jmp 0x4ad0eb7c
or byte [ebp - 0x2023b], 1
jmp 0x4ad0eb7c
or byte [ebp - 0x2023b], 8
jmp 0x4ad0eb7c
or byte [ebp - 0x2023b], 0x10
jmp 0x4ad0eb7c
push 0x4ad18cb0
lea eax, [ebp - 0x8234]
push eax
call esi
pop ecx
pop ecx
test eax, eax
jne 0x4ad18a92
jmp 0x4ad0f092
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4234]
push eax
call edi
pop ecx
pop ecx
jmp 0x4ad0eb9e
mov word [ebp - 0x14234], 0x22
lea eax, [ebp - 0x4234]
push eax
call fcn.4ad01349
test eax, eax
je 0x4ad18a46
lea eax, [ebp - 0x4234]
push eax
call fcn.4ad01349
push eax
lea eax, [ebp - 0x14232]
push eax
call edi
pop ecx
pop ecx
push 0x4ad03838
lea eax, [ebp - 0x14234]
push eax
mov esi, dword [sym.imp.msvcrt.dll_wcscat]
call esi
pop ecx
pop ecx
jmp 0x4ad0ec01
call fcn.4ad1dfee
push ebx
push 0x2397
call fcn.4ad069f4
pop ecx
pop ecx
cmp byte [0x4ad2fa64], bl
je 0x4ad18a88
push ebx
push 0x23bf
call fcn.4ad069f4
pop ecx
pop ecx
call fcn.4ad1e04d
jmp 0x4ad0640b
push 0x4ad19204
lea eax, [ebp - 0x18234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x8234]
push eax
lea eax, [ebp - 0x18234]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
lea eax, [ebp - 0x18234]
push eax
push edi
push 0x2375
call fcn.4ad0606f
add esp, 0x1c
jmp 0x4ad0640b
cmp eax, 2
je 0x4ad06412
mov byte [ebp - 0x20235], 1
jmp 0x4ad0ec79
mov byte [ebp - 0x20235], 1
lea eax, [ebp - 0xc234]
push eax
lea eax, [ebp - 0x4234]
push eax
call edi
pop ecx
pop ecx
jmp 0x4ad0ec79
push str.COMSPEC
call fcn.4ad01b84
mov dword [ebp - 0x20274], eax
cmp eax, ebx
jne 0x4ad18b2b
push ebx
push 0x23d2
call fcn.4ad0606f
pop ecx
pop ecx
jmp 0x4ad18c9b
mov edi, 0x4ad18ca4
push edi
lea eax, [ebp - 0x18234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x14234]
push eax
lea eax, [ebp - 0x18234]
push eax
call esi
push dword [ebp - 0x20274]
lea eax, [ebp - 0x4234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x4234]
push eax
lea eax, [ebp - 0x14234]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
push edi
lea eax, [ebp - 0x18234]
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
add esp, 0x28
test eax, eax
je 0x4ad18bf9
cmp word [ebp - 0x20234], bx
je 0x4ad18bf9
lea eax, [ebp - 0x20234]
push eax
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
call edi
mov dword [ebp - 0x20278], eax
lea eax, [ebp - 0x18234]
push eax
call edi
pop ecx
pop ecx
add eax, dword [ebp - 0x20278]
cmp eax, 0x2000
jae 0x4ad18be3
push 0x4ad05d98
lea eax, [ebp - 0x18234]
push eax
call esi
lea eax, [ebp - 0x20234]
push eax
lea eax, [ebp - 0x18234]
push eax
call esi
add esp, 0x10
jmp 0x4ad18bf9
lea eax, [ebp - 0x20234]
push eax
push 1
push 0x2363
call fcn.4ad0606f
add esp, 0xc
lea eax, [ebp - 0x18234]
mov dword [ebp - 0x20248], eax
mov edi, dword [sym.imp.msvcrt.dll_wcscpy]
jmp 0x4ad0ec8d
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
jmp 0x4ad0ecdf
xor esi, esi
jmp 0x4ad0edf4
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
jmp 0x4ad0ee00
mov ecx, dword [ebp - 0x202f0]
cmp ecx, ebx
jne 0x4ad18c4b
mov dword [0x4ad2ba04], 8
jmp 0x4ad0a631
cmp ecx, 0x20
mov dword [0x4ad2ba04], 2
je 0x4ad0a631
mov dword [0x4ad2ba04], ecx
jmp 0x4ad0a631
lea eax, [ebp - 0x4234]
push eax
call fcn.4ad1afd1
xor eax, eax
inc eax
jmp 0x4ad0ee4a