Function at 0x100f46b
Capabilities:
Create process on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x178
mov eax, dword [0x1020204]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ebx
mov ebx, dword [eax]
push esi
push edi
mov edi, dword [eax + 8]
push 0x107
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x10b]
push 0
push eax
mov dword [ebp - 0x118], ecx
mov byte [ebp - 0x10c], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push edi
push ebx
lea esi, [ebp - 0x10c]
mov dword [ebp - 0x110], str.notepad__p
call fcn.0100c4ea
test eax, eax
mov dword [ebp - 0x11c], eax
jne 0x100f50c
push 1
call fcn.0100db6b
push 0x10
push 0x1001ad0
push 0x2d9
call fcn.0100e6ab
push eax
push dword [0x1021df0]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0100db6b
or eax, 0xffffffff
jmp 0x100f75f
push dword [ebp - 0x118]
push eax
push ebx
call fcn.01004d6d
test eax, eax
mov dword [ebp - 0x120], eax
jne 0x100f554
push 1
call fcn.0100db6b
push 0x10
push 0x1001ad0
push 0x2bc
call fcn.0100e6ab
push eax
push dword [0x1021df0]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.0100db6b
jmp 0x100f74a
test edi, edi
jg 0x100f56f
push 0
push 0
push 0x405
push dword [0x1021dec]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
mov eax, dword [ebp - 0x118]
dec eax
je 0x100f597
dec eax
jne 0x100f5b1
push edi
push ebx
call fcn.0100cfd2
test edi, edi
mov dword [ebp - 0x114], eax
jle 0x100f58d
dec edi
test eax, eax
jg 0x100f5bb
test edi, edi
jg 0x100f57b
jmp 0x100f5b1
push edi
push ebx
call fcn.0100cf47
test edi, edi
mov dword [ebp - 0x114], eax
jle 0x100f5a9
dec edi
test eax, eax
jg 0x100f5bb
test edi, edi
jg 0x100f597
mov dword [ebp - 0x114], 1
cmp byte [str.notepad__p], 0
je 0x100f664
lea edi, [ebp - 4]
sub edi, esi
cmp edi, 1
jle 0x100f664
mov ebx, dword [ebp - 0x110]
movzx eax, byte [ebx]
cmp al, 0x25
jne 0x100f5ef
inc ebx
movzx eax, byte [ebx]
cmp al, 0x6c
je 0x100f63a
cmp al, 0x70
je 0x100f61b
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x100f614
lea eax, [ebx + 1]
cmp byte [eax], 0
je 0x100f614
cmp edi, 2
jle 0x100f614
mov cl, byte [ebx]
mov byte [esi], cl
inc esi
mov dword [ebp - 0x110], eax
mov ebx, eax
mov al, byte [ebx]
mov byte [esi], al
inc esi
jmp 0x100f654
push dword [ebp - 0x120]
lea eax, [ebp - 4]
sub eax, esi
push eax
push esi
call fcn.0101627b
add esp, 0xc
jmp 0x100f633
inc esi
cmp byte [esi], 0
jne 0x100f632
jmp 0x100f654
push 0xa
push esi
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll__ltoa]
add esp, 0xc
jmp 0x100f64f
inc esi
cmp byte [esi], 0
jne 0x100f64e
inc ebx
cmp byte [ebx], 0
mov dword [ebp - 0x110], ebx
jne 0x100f5c8
lea eax, [ebp - 4]
sub eax, esi
test eax, eax
jle 0x100f670
mov byte [esi], 0
xor eax, eax
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x178]
push ecx
push eax
push eax
push 0x20
push eax
push eax
push eax
lea ecx, [ebp - 0x10c]
push ecx
push eax
mov dword [ebp - 0x16c], 0x10020d0
mov dword [ebp - 0x178], 0x44
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x144], eax
mov word [ebp - 0x146], ax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x14c], 0x40
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x100f6e8
push 1
call fcn.0100db6b
push 0x10
push 0x1001ad0
push 0x2bd
jmp 0x100f536
push 0xffffffffffffffff
push dword [ebp - 0x134]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0x130]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x134]
call esi
push dword [ebp - 0x120]
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
call fcn.010035f2
push dword [ebp - 0x11c]
call fcn.01004149
push dword [ebp - 0x11c]
push 0xc2
push 0x111
push dword [0x1021df0]
call dword [sym.imp.USER32.dll_PostMessageA]
push 0xc
push dword [ebp - 0x124]
push dword [0x1021d74]
call fcn.01018410
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01015dd4
leave
ret 4