Function at 0x4011c5
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0xd2c]
sub esp, 0xdac
mov eax, dword [0x406040]
xor eax, ebp
mov dword [ebp + 0xd28], eax
mov eax, dword [ebp + 0xd38]
push ebx
push esi
mov esi, dword [ebp + 0xd34]
mov dword [ebp - 0x2c], eax
lea eax, [ebp + 0xa1c]
push edi
push eax
mov dword [ebp - 0x24], esi
call fcn.00401000
lea eax, [ebp + 0xb20]
push eax
call fcn.0040102f
pop ecx
xor ebx, ebx
pop ecx
cmp al, 1
jne 0x401230
lea eax, [ebp + 0xb20]
push eax
lea eax, [ebp + 0x14]
push str._Djavaplugin.user.profile__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x401233
mov byte [ebp + 0x14], bl
lea eax, [ebp + 0x414]
push eax
mov dword [ebp - 0x28], 0x800
mov byte [ebp + 0x414], bl
call fcn.004010be
pop ecx
cmp eax, 1
jne 0x401259
mov dword [ebp - 0x28], 0xc00
push esi
mov esi, dword [sym.imp.MSVCR100.dll_sprintf_s]
push str._sjavaw.exe
mov edi, 0x104
lea eax, [ebp + 0xc24]
push edi
push eax
call esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0xc24]
push eax
call dword [sym.imp.MSVCR100.dll__stat64i32]
add esp, 0x18
test eax, eax
je 0x401330
push dword [ebp - 0x24]
lea eax, [ebp + 0x814]
push str._sdeploy.dll
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp + 0x814]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x20], eax
cmp eax, ebx
jne 0x4012d0
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 2
call fcn.00401127
add esp, 0xc
jmp 0x4013b9
push str.GetCurrentJavaHomeFromRegistry
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
jne 0x401300
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 2
call fcn.00401127
add esp, 0xc
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4013b9
lea ecx, [ebp + 0x918]
push ecx
call eax
pop ecx
test eax, eax
je 0x4012e0
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp + 0x918]
push eax
push str._s_binjavaw.exe
lea eax, [ebp + 0xc24]
push edi
push eax
call esi
add esp, 0x10
push dword [ebp - 0x28]
call sub.MSVCR100.dll_void____cdecl_operator_new___unsigned_int_
push dword [ebp - 0x2c]
mov edi, eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0xa1c]
push eax
lea eax, [ebp + 0x414]
push eax
push dword [ebp - 0x24]
lea eax, [ebp + 0xc24]
push eax
push str._s__Xbootclasspath_a:__s..libdeploy.jar___s__Duser.home__s___s_com.sun.deploy.panel.ControlPanel__s
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x44
pop esi
push esi
lea eax, [ebp - 0x80]
push ebx
push eax
call sub.MSVCR100.dll_memset
add esp, 0x30
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x24]
mov dword [ebp - 0x80], esi
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4013a9
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 2
call fcn.00401127
add esp, 0xc
jmp 0x4013b2
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete___void__
pop ecx
mov ecx, dword [ebp + 0xd28]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004024e1
add ebp, 0xd2c
leave
ret