Function at 0x4036c7
Capabilities:
Accept command line arguments
Create process on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
push ebx
push esi
push 0x105
lea eax, [ebp - 0x128]
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp eax, ebx
je 0x403a3d
cmp eax, 0x104
jg 0x403a3d
cmp byte [0x419e12], bl
mov esi, dword [ebp + 8]
je 0x403724
lea eax, [ebp - 0x128]
push eax
push str.ExecJRE:_old:__s_n
call fcn.004075ec
push esi
push str.ExecJRE:_new:__s_n
call fcn.004075ec
add esp, 0x10
push esi
call fcn.00406f50
push eax
lea eax, [ebp - 0x128]
push eax
push esi
call fcn.00411656
add esp, 0x10
test eax, eax
je 0x403a59
push edi
push str.java
push str._bin_
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.00407660
pop ecx
pop ecx
push eax
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
lea eax, [ebp - 0x128]
push str..exe
push eax
call fcn.00407670
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.0040421c
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.004035c6
mov esi, dword [ebp - 4]
push esi
call fcn.00406f50
mov edi, eax
lea eax, [ebp - 0x128]
push eax
call fcn.00406f50
lea eax, [edi + eax + 4]
push eax
call fcn.004041d5
mov edi, eax
lea eax, [ebp - 0x128]
push 0x20
push eax
call fcn.00407fd0
add esp, 0x1c
test eax, eax
jne 0x4037f5
lea eax, [ebp - 0x128]
push 9
push eax
call fcn.00407fd0
test eax, eax
pop ecx
pop ecx
jne 0x4037f5
lea eax, [ebp - 0x128]
push eax
push edi
call fcn.00407660
jmp 0x403819
mov eax, 0x414a24
push eax
lea ecx, [ebp - 0x128]
push ecx
push eax
push edi
call fcn.00407660
pop ecx
pop ecx
push eax
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
cmp byte [esi], 0
pop ecx
pop ecx
mov edi, eax
je 0x403935
mov esi, 0x41362c
lea eax, [ebp - 4]
push eax
call fcn.004035c6
mov ebx, eax
cmp byte [ebx], 0
pop ecx
je 0x4038f4
call fcn.00403660
cmp byte [eax], 0x2d
mov dword [ebp - 8], eax
jne 0x403902
push str._classpath
push eax
call fcn.00407760
test eax, eax
pop ecx
pop ecx
je 0x4038b4
push 0x413364
push dword [ebp - 8]
call fcn.00407760
test eax, eax
pop ecx
pop ecx
je 0x4038b4
push 9
push str._version:
push dword [ebp - 8]
call fcn.00407050
add esp, 0xc
test eax, eax
je 0x4038eb
push str._jre_restrict_search
push dword [ebp - 8]
call fcn.00407760
test eax, eax
pop ecx
pop ecx
je 0x4038eb
push str._no_jre_restrict_search
push dword [ebp - 8]
call fcn.00407760
test eax, eax
pop ecx
pop ecx
je 0x4038eb
push ebx
jmp 0x4038d8
push ebx
push esi
push edi
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
mov edi, eax
lea eax, [ebp - 4]
push eax
call fcn.004035c6
add esp, 0xc
cmp byte [eax], 0
je 0x4038eb
push eax
push esi
push edi
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
pop ecx
pop ecx
mov edi, eax
push dword [ebp - 8]
call fcn.0040423d
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x40382b
jmp 0x403933
push ebx
push esi
push edi
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
pop ecx
pop ecx
push dword [ebp - 4]
push esi
push eax
call fcn.00407670
pop ecx
pop ecx
push eax
call fcn.00407670
push dword [ebp - 8]
mov edi, eax
call fcn.0040423d
add esp, 0xc
xor ebx, ebx
push dword [ebp - 0x10]
call fcn.0040423d
cmp byte [0x419e12], 0
pop ecx
je 0x403983
push edi
call fcn.0040421c
mov esi, eax
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], esi
call fcn.004035c6
push eax
lea eax, [ebp - 0x128]
push eax
push str.ReExec_Command:__s___s__n
call fcn.004075ec
push dword [ebp - 4]
push str.ReExec_Args:__s_n
call fcn.004075ec
push esi
call fcn.0040423d
add esp, 0x20
push 0x4191f0
call fcn.0040836f
mov dword [esp], 0x419210
call fcn.0040836f
push 0x44
pop esi
push esi
lea eax, [ebp - 0x16c]
push ebx
push eax
call fcn.004078b0
push 0x10
lea eax, [ebp - 0x20]
push ebx
push eax
mov dword [ebp - 0x16c], esi
call fcn.004078b0
add esp, 0x1c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x16c]
push eax
push ebx
push ebx
push ebx
xor esi, esi
inc esi
push esi
push ebx
push ebx
push edi
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
pop edi
jne 0x4039f5
push esi
lea eax, [ebp - 0x128]
push eax
push str.CreateProcess__s__...__failed:__s
jmp 0x403a4b
push 0xffffffffffffffff
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x403a18
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x403a28
jmp 0x403a25
push esi
push str.WaitForSingleObject___failed.
call fcn.004032d1
pop ecx
pop ecx
mov dword [ebp - 0xc], esi
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x20]
call esi
push dword [ebp - 0xc]
jmp 0x403a54
xor esi, esi
inc esi
push esi
push str.java
push str.Unable_to_resolve_path_to_current__s_executable:__s
call fcn.0040331a
add esp, 0xc
push esi
call fcn.004075ac
pop esi
pop ebx
leave
ret