Function at 0xf02d02b
Capabilities:
Get common file path
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor ebx, ebx
push ebx
mov dword [ebp + 0xc], eax
push 4
lea eax, [ebp - 4]
push eax
push 0x13
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
mov dword [0xf08c26c], 0xf075870
mov dword [0xf08c270], 0xf075d08
mov dword [0xf08c268], 0xf075924
call esi
push eax
call sub.ntdll.dll_NtQueryInformationProcess
cmp dword [ebp - 4], ebx
jne 0xf02d084
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0xf002d70
call dword [sym.imp.SHELL32.dll_SetCurrentProcessExplicitAppUserModelID]
push ebx
push 0x18
lea eax, [ebp - 0x30]
push eax
push ebx
call esi
push eax
call sub.ntdll.dll_NtQueryInformationProcess
test eax, eax
jl 0xf02d0b8
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0xf02d0b8
mov eax, dword [eax + 0x10]
cmp eax, ebx
je 0xf02d0b8
or dword [eax + 0x68], 0x2000
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push edi
push ebx
push ebx
call esi
xor edi, edi
inc edi
mov dword [0xf07df68], eax
cmp eax, ebx
jne 0xf02d0f5
push 0xf002d58
push edi
push edi
call fcn.0f02c789
call fcn.0f06c1fa
jmp 0xf02d0f0
push 0xf001d82
push 3
push 7
call fcn.0f02c789
mov eax, dword [0xf07df68]
inc eax
push eax
call fcn.0f005706
mov dword [0xf07df64], eax
pop ecx
cmp eax, ebx
je 0xf02d0e2
mov ecx, dword [0xf07df68]
inc ecx
push ecx
push eax
call esi
mov dword [0xf07df68], eax
cmp eax, ebx
jne 0xf02d12b
push 0xf002d3c
push edi
push edi
call fcn.0f02c789
call fcn.0f06c1fa
push dword [0xf07df64]
lea eax, [ebp - 0x10]
push eax
call sub.ntdll.dll_RtlInitAnsiString
push edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call sub.ntdll.dll_RtlAnsiStringToUnicodeString
test eax, eax
jge 0xf02d15d
push 0xf002d20
push edi
push edi
call fcn.0f02c789
call fcn.0f06c1fa
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
dec edi
cmp edi, ebx
mov dword [0xf07df6c], eax
jle 0xf02d208
add dword [ebp + 0xc], 4
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
mov al, byte [esi]
cmp al, 0x2d
je 0xf02d184
cmp al, 0x2f
jne 0xf02d1e0
inc esi
movsx eax, byte [esi]
push eax
call fcn.0f0092f1
pop ecx
cmp eax, 0x77
jne 0xf02d1ba
mov dword [0xf07df54], 1
movsx eax, byte [esi + 1]
push eax
call fcn.0f0092f1
pop ecx
cmp eax, 0x73
jne 0xf02d1e0
mov dword [sym.ntvdm.exe_fSeparateWow], 1
jmp 0xf02d1e0
mov al, byte [esi]
cmp al, 0x6f
jne 0xf02d1c8
mov dword [0xf0754f0], ebx
jmp 0xf02d1e0
inc esi
cmp al, 0x69
jne 0xf02d1e0
cmp byte [esi], bl
je 0xf02d1e0
push 0x10
push ebx
push esi
call fcn.0f00dfc8
add esp, 0xc
mov dword [ebp - 8], eax
dec edi
cmp edi, ebx
jg 0xf02d171
mov eax, dword [ebp - 8]
cmp eax, ebx
je 0xf02d208
cmp dword [0xf07df54], ebx
je 0xf02d203
cmp dword [sym.ntvdm.exe_fSeparateWow], ebx
jne 0xf02d203
mov dword [0xf07df60], eax
jmp 0xf02d208
mov dword [0xf07df5c], eax
pop edi
cmp dword [0xf07df54], ebx
je 0xf02d223
push 0x4e20
call sub.USER32.dll_ShowStartGlass
mov dword [0xf0754f0], ebx
jmp 0xf02d230
cmp dword [0xf0754f0], ebx
je 0xf02d230
call fcn.0f0114c7
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
push ebx
push ebx
push 0xf0adac0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
call fcn.0f029d38
call fcn.0f029ce5
call fcn.0f03bb07
call fcn.0f037b88
pop esi
pop ebx
leave
ret 8