Function at 0x4035e1
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 0x403957
cmp eax, 0x104
jg 0x403957
cmp byte [0x419e12], bl
mov esi, dword [ebp + 8]
je 0x40363e
lea eax, [ebp - 0x128]
push eax
push str.ExecJRE:_old:__s_n
call fcn.0040734c
push esi
push str.ExecJRE:_new:__s_n
call fcn.0040734c
add esp, 0x10
push esi
call fcn.00406cb0
push eax
lea eax, [ebp - 0x128]
push eax
push esi
call fcn.004113b6
add esp, 0x10
test eax, eax
je 0x403973
push edi
push str.java
push str._bin_
lea eax, [ebp - 0x128]
push esi
push eax
call fcn.004073c0
pop ecx
pop ecx
push eax
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
lea eax, [ebp - 0x128]
push str..exe
push eax
call fcn.004073d0
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.00403f83
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
call fcn.004034e0
mov esi, dword [ebp - 4]
push esi
call fcn.00406cb0
mov edi, eax
lea eax, [ebp - 0x128]
push eax
call fcn.00406cb0
lea eax, [edi + eax + 4]
push eax
call fcn.00403f3c
mov edi, eax
lea eax, [ebp - 0x128]
push 0x20
push eax
call fcn.00407d30
add esp, 0x1c
test eax, eax
jne 0x40370f
lea eax, [ebp - 0x128]
push 9
push eax
call fcn.00407d30
test eax, eax
pop ecx
pop ecx
jne 0x40370f
lea eax, [ebp - 0x128]
push eax
push edi
call fcn.004073c0
jmp 0x403733
mov eax, 0x4149d0
push eax
lea ecx, [ebp - 0x128]
push ecx
push eax
push edi
call fcn.004073c0
pop ecx
pop ecx
push eax
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
cmp byte [esi], 0
pop ecx
pop ecx
mov edi, eax
je 0x40384f
mov esi, 0x41362c
lea eax, [ebp - 4]
push eax
call fcn.004034e0
mov ebx, eax
cmp byte [ebx], 0
pop ecx
je 0x40380e
call fcn.0040357a
cmp byte [eax], 0x2d
mov dword [ebp - 8], eax
jne 0x40381c
push str._classpath
push eax
call fcn.004074c0
test eax, eax
pop ecx
pop ecx
je 0x4037ce
push 0x413364
push dword [ebp - 8]
call fcn.004074c0
test eax, eax
pop ecx
pop ecx
je 0x4037ce
push 9
push str._version:
push dword [ebp - 8]
call fcn.00406db0
add esp, 0xc
test eax, eax
je 0x403805
push str._jre_restrict_search
push dword [ebp - 8]
call fcn.004074c0
test eax, eax
pop ecx
pop ecx
je 0x403805
push str._no_jre_restrict_search
push dword [ebp - 8]
call fcn.004074c0
test eax, eax
pop ecx
pop ecx
je 0x403805
push ebx
jmp 0x4037f2
push ebx
push esi
push edi
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
mov edi, eax
lea eax, [ebp - 4]
push eax
call fcn.004034e0
add esp, 0xc
cmp byte [eax], 0
je 0x403805
push eax
push esi
push edi
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
pop ecx
pop ecx
mov edi, eax
push dword [ebp - 8]
call fcn.00403fa4
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x403745
jmp 0x40384d
push ebx
push esi
push edi
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
pop ecx
pop ecx
push dword [ebp - 4]
push esi
push eax
call fcn.004073d0
pop ecx
pop ecx
push eax
call fcn.004073d0
push dword [ebp - 8]
mov edi, eax
call fcn.00403fa4
add esp, 0xc
xor ebx, ebx
push dword [ebp - 0x10]
call fcn.00403fa4
cmp byte [0x419e12], 0
pop ecx
je 0x40389d
push edi
call fcn.00403f83
mov esi, eax
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], esi
call fcn.004034e0
push eax
lea eax, [ebp - 0x128]
push eax
push str.ReExec_Command:__s___s__n
call fcn.0040734c
push dword [ebp - 4]
push str.ReExec_Args:__s_n
call fcn.0040734c
push esi
call fcn.00403fa4
add esp, 0x20
push 0x4191f0
call fcn.004080cf
mov dword [esp], 0x419210
call fcn.004080cf
push 0x44
pop esi
push esi
lea eax, [ebp - 0x16c]
push ebx
push eax
call fcn.00407610
push 0x10
lea eax, [ebp - 0x20]
push ebx
push eax
mov dword [ebp - 0x16c], esi
call fcn.00407610
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 0x40390f
push esi
lea eax, [ebp - 0x128]
push eax
push str.CreateProcess__s__...__failed:__s
jmp 0x403965
push 0xffffffffffffffff
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
je 0x403932
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x403942
jmp 0x40393f
push esi
push str.WaitForSingleObject___failed.
call fcn.0040325c
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 0x40396e
xor esi, esi
inc esi
push esi
push str.java
push str.Unable_to_resolve_path_to_current__s_executable:__s
call fcn.004032a5
add esp, 0xc
push esi
call fcn.0040730c
pop esi
pop ebx
leave
ret