Function at 0x402422
Capabilities:
Terminate process

Disassembly:
push ebp
sub esp, 0x904
lea ebp, [esp - 4]
mov eax, dword [0x41517c]
xor eax, ebp
mov dword [ebp + 0x904], eax
push 0x6c
mov eax, 0x40cde8
call fcn.0040bd84
mov edi, dword [ebp + 0x914]
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
push str.jp2launcher
mov dword [ebp - 4], eax
call fcn.0040150b
pop ecx
call fcn.00401f19
mov esi, dword [ebp + 0x910]
cmp esi, 1
jle 0x4024de
mov eax, dword [edi + 4]
mov ebx, dword [sym.imp.MSVCR100.dll__mbscmp]
push 0x40e708
push eax
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x4024ab
push edi
push esi
call fcn.00403294
pop ecx
pop ecx
mov esi, eax
call fcn.004015cd
lea ecx, [ebp - 0x20]
call fcn.0040aeaa
mov eax, esi
jmp 0x402784
mov eax, dword [edi + 4]
push str._securejws
push eax
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x4024c6
push esi
mov ecx, edi
call fcn.004019eb
jmp 0x402494
mov eax, dword [edi + 4]
push str._sjed
push eax
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x4024de
call fcn.00401c59
jmp 0x402495
cmp esi, 4
jge 0x4024f5
push esi
push str.Invalid_number_of_arguments._argc__d_n
call fcn.004015ed
pop ecx
xor esi, esi
pop ecx
inc esi
jmp 0x402497
mov ecx, dword [edi]
lea eax, [ebp - 0x20]
push eax
call fcn.004022e6
pop ecx
test eax, eax
jne 0x402511
push str.Cannot_add_constant_arguments..._n
call fcn.004015ed
jmp 0x4024ef
xor ebx, ebx
inc ebx
cmp esi, ebx
jle 0x4025b7
mov esi, dword [edi + ebx*4]
call fcn.00401793
test eax, eax
je 0x4025b1
push 0x16
push 0x40e770
push esi
call dword [sym.imp.MSVCR100.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
je 0x4025c5
push dword [edi + ebx*4]
call section..text
pop ecx
test eax, eax
jne 0x402599
push dword [edi + ebx*4]
call fcn.00401832
pop ecx
test eax, eax
je 0x402599
push dword [edi + ebx*4]
call fcn.00405add
pop ecx
test al, al
je 0x402580
push dword [edi + ebx*4]
call fcn.00405b5c
push eax
call fcn.00405929
pop ecx
pop ecx
test al, al
je 0x4025cf
mov eax, dword [edi + ebx*4]
call fcn.004016c6
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402f35
jmp 0x4025a4
push 0x40e7b0
call fcn.004015ed
pop ecx
inc ebx
cmp ebx, dword [ebp + 0x910]
jl 0x40251c
mov esi, dword [ebp + 0x910]
cmp ebx, esi
jne 0x4025e7
push str.Invalid_arguments:_no_main_class_found_n
jmp 0x40250a
push 0x40e788
jmp 0x40250a
push 0x40e79c
call fcn.004015ed
pop ecx
call fcn.004015cd
push 1
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [edi + ebx*4]
push 0x40e7ec
push eax
call dword [sym.imp.MSVCR100.dll__mbscmp]
pop ecx
pop ecx
test eax, eax
je 0x402606
push str.Invalid_arguments:_PluginMain_main_class_not_found_n
jmp 0x40250a
lea eax, [edi + ebx*4]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402f8c
inc ebx
cmp ebx, esi
jge 0x402631
lea eax, [edi + ebx*4]
mov dword [ebp - 0x10], eax
sub esi, ebx
push dword [ebp - 0x10]
lea ecx, [ebp - 0x20]
call fcn.00402f8c
add dword [ebp - 0x10], 4
dec esi
jne 0x40261f
push 0x103
xor ebx, ebx
lea eax, [ebp + 0x801]
push ebx
push eax
mov byte [ebp + 0x800], 0
call sub.MSVCR100.dll_memset
mov ecx, dword [edi]
xor esi, esi
inc esi
lea eax, [ebp + 0x800]
push esi
push eax
call fcn.00401852
add esp, 0x14
test eax, eax
jne 0x402675
push str.Error_during_getting_jre_home..._n
call fcn.004015ed
pop ecx
jmp 0x402497
mov esi, dword [sym.imp.MSVCR100.dll__snprintf]
lea eax, [ebp + 0x800]
push eax
push str._s_binjava.exe
mov edi, 0x400
lea eax, [ebp + 0x400]
push edi
push eax
call esi
lea eax, [ebp + 0x400]
push eax
push str.__s_
lea eax, [ebp]
push edi
push eax
call esi
lea eax, [ebp]
add esp, 0x20
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402fef
lea eax, [ebp - 0x20]
push ebx
push eax
call fcn.00401f3a
mov edi, eax
push edi
push str.commandLine:__s_n
call fcn.004015ed
mov esi, dword [sym.imp.MSVCR100.dll__putenv]
push 0x40e894
call esi
push 0x40e8a0
call fcn.004059ec
add esp, 0x18
test al, al
jne 0x402702
push 0x40e8b0
call esi
pop ecx
push 0x40e8c0
call fcn.004059ec
pop ecx
test al, al
jne 0x402719
push 0x40e8d4
call esi
pop ecx
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push ebx
push eax
call sub.MSVCR100.dll_memset
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x78]
push eax
push ebx
push ebx
mov dword [ebp - 0x78], esi
push 0x8000000
xor esi, esi
inc esi
push esi
push ebx
push ebx
lea eax, [ebp + 0x400]
push edi
push eax
call fcn.00407ee1
add esp, 0x34
test eax, eax
jne 0x40276a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateProcess_failed__d_n
call fcn.004015ed
pop ecx
jmp 0x40266f
push 0xffffffffffffffff
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.004015cd
lea ecx, [ebp - 0x20]
call fcn.0040aeaa
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x904]
xor ecx, ebp
call fcn.0040bcaf
add ebp, 0x908
leave
ret