Function at 0x403735
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 0x403aab
cmp eax, 0x104
jg 0x403aab
cmp byte [0x419e12], bl
mov esi, dword [ebp + 8]
je 0x403792
lea eax, [ebp - 0x128]
push eax
push str.ExecJRE:_old:__s_n
call fcn.0040764c
push esi
push str.ExecJRE:_new:__s_n
call fcn.0040764c
add esp, 0x10
push esi
call fcn.00406fb0
push eax
lea eax, [ebp - 0x128]
push eax
push esi
call fcn.00411776
add esp, 0x10
test eax, eax
je 0x403ac7
push edi
push str.javaw
push str._bin_
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.004076c0
pop ecx
pop ecx
push eax
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
lea eax, [ebp - 0x128]
push str..exe
push eax
call fcn.004076d0
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.0040428a
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.00403634
mov esi, dword [ebp - 4]
push esi
call fcn.00406fb0
mov edi, eax
lea eax, [ebp - 0x128]
push eax
call fcn.00406fb0
lea eax, [edi + eax + 4]
push eax
call fcn.00404243
mov edi, eax
lea eax, [ebp - 0x128]
push 0x20
push eax
call fcn.00408030
add esp, 0x1c
test eax, eax
jne 0x403863
lea eax, [ebp - 0x128]
push 9
push eax
call fcn.00408030
test eax, eax
pop ecx
pop ecx
jne 0x403863
lea eax, [ebp - 0x128]
push eax
push edi
call fcn.004076c0
jmp 0x403887
mov eax, 0x414a40
push eax
lea ecx, [ebp - 0x128]
push ecx
push eax
push edi
call fcn.004076c0
pop ecx
pop ecx
push eax
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
cmp byte [esi], 0
pop ecx
pop ecx
mov edi, eax
je 0x4039a3
mov esi, 0x41362c
lea eax, [ebp - 4]
push eax
call fcn.00403634
mov ebx, eax
cmp byte [ebx], 0
pop ecx
je 0x403962
call fcn.004036ce
cmp byte [eax], 0x2d
mov dword [ebp - 8], eax
jne 0x403970
push str._classpath
push eax
call fcn.004077c0
test eax, eax
pop ecx
pop ecx
je 0x403922
push 0x413364
push dword [ebp - 8]
call fcn.004077c0
test eax, eax
pop ecx
pop ecx
je 0x403922
push 9
push str._version:
push dword [ebp - 8]
call fcn.004070b0
add esp, 0xc
test eax, eax
je 0x403959
push str._jre_restrict_search
push dword [ebp - 8]
call fcn.004077c0
test eax, eax
pop ecx
pop ecx
je 0x403959
push str._no_jre_restrict_search
push dword [ebp - 8]
call fcn.004077c0
test eax, eax
pop ecx
pop ecx
je 0x403959
push ebx
jmp 0x403946
push ebx
push esi
push edi
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
mov edi, eax
lea eax, [ebp - 4]
push eax
call fcn.00403634
add esp, 0xc
cmp byte [eax], 0
je 0x403959
push eax
push esi
push edi
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
pop ecx
pop ecx
mov edi, eax
push dword [ebp - 8]
call fcn.004042ab
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x403899
jmp 0x4039a1
push ebx
push esi
push edi
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
pop ecx
pop ecx
push dword [ebp - 4]
push esi
push eax
call fcn.004076d0
pop ecx
pop ecx
push eax
call fcn.004076d0
push dword [ebp - 8]
mov edi, eax
call fcn.004042ab
add esp, 0xc
xor ebx, ebx
push dword [ebp - 0x10]
call fcn.004042ab
cmp byte [0x419e12], 0
pop ecx
je 0x4039f1
push edi
call fcn.0040428a
mov esi, eax
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], esi
call fcn.00403634
push eax
lea eax, [ebp - 0x128]
push eax
push str.ReExec_Command:__s___s__n
call fcn.0040764c
push dword [ebp - 4]
push str.ReExec_Args:__s_n
call fcn.0040764c
push esi
call fcn.004042ab
add esp, 0x20
push 0x4191f0
call fcn.004083cf
mov dword [esp], 0x419210
call fcn.004083cf
push 0x44
pop esi
push esi
lea eax, [ebp - 0x16c]
push ebx
push eax
call fcn.00407910
push 0x10
lea eax, [ebp - 0x20]
push ebx
push eax
mov dword [ebp - 0x16c], esi
call fcn.00407910
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 0x403a63
push esi
lea eax, [ebp - 0x128]
push eax
push str.CreateProcess__s__...__failed:__s
jmp 0x403ab9
push 0xffffffffffffffff
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x403a86
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x403a96
jmp 0x403a93
push esi
push str.WaitForSingleObject___failed.
call fcn.004032f4
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 0x403ac2
xor esi, esi
inc esi
push esi
push str.javaw
push str.Unable_to_resolve_path_to_current__s_executable:__s
call fcn.0040335c
add esp, 0xc
push esi
call fcn.0040760c
pop esi
pop ebx
leave
ret