Function at 0x4013d5
Capabilities:
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4d8
push ebx
push esi
push edi
xor edi, edi
push dword [ebp + 8]
mov dword [ebp - 8], edi
call fcn.00402b7e
push dword [ebp + 8]
mov ebx, eax
mov dword [ebp - 4], ebx
call fcn.00402b7e
pop ecx
cmp ebx, edi
pop ecx
mov dword [ebp - 0x10], eax
je 0x401408
cmp eax, edi
jne 0x401417
push 2
call fcn.0040694c
push eax
call fcn.00406bc1
pop ecx
pop ecx
cmp dword [ebp + 0x24], edi
je 0x401429
push dword [ebp + 0x28]
push dword [ebp + 0x24]
call fcn.004021ac
pop ecx
pop ecx
mov esi, dword [ebp + 0xc]
cmp esi, edi
je 0x40143b
push esi
call dword [sym.imp.MSVCRT.dll__strdup]
pop ecx
mov dword [ebp - 8], eax
push 0x32
lea eax, [ebp - 0xd8]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push eax
push esi
call fcn.00401a7d
xor ecx, ecx
cmp esi, edi
setne cl
xor edx, edx
cmp dword [ebp + 0x34], edi
mov dword [ebp + 8], eax
push str.MOZILLA_HOME
setne dl
add ecx, edx
xor edx, edx
cmp dword [ebp + 0x38], edi
setne dl
add edx, eax
xor eax, eax
cmp dword [ebp + 0x44], eax
setne al
add edx, ecx
mov ecx, dword [ebp + 0x40]
add eax, edx
add eax, dword [ebp + 0x10]
lea esi, [eax + ecx + 0xd]
mov dword [ebp + 0xc], esi
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 0x18
mov dword [ebp + 0x24], eax
test eax, eax
je 0x4014ae
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4014ae
inc esi
mov dword [ebp + 0xc], esi
mov eax, esi
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov esi, eax
mov eax, dword [ebp + 8]
push 1
mov dword [esi], ebx
mov dword [ebp - 0xc], esi
test eax, eax
pop ebx
jle 0x4014f7
lea ecx, [ebp - 0xd8]
lea edi, [esi + 4]
mov dword [ebp + 8], ecx
mov dword [ebp + 0x28], eax
lea ebx, [eax + 1]
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00404dc5
add dword [ebp + 8], 4
mov dword [edi], eax
add edi, 4
dec dword [ebp + 0x28]
pop ecx
jne 0x4014de
mov edx, dword [ebp + 0x40]
test edx, edx
jle 0x401513
mov ecx, dword [ebp + 0x3c]
lea eax, [esi + ebx*4]
add ebx, edx
mov edi, dword [ecx]
add ecx, 4
mov dword [eax], edi
add eax, 4
dec edx
jne 0x401506
call fcn.0040189d
mov dword [esi + ebx*4], eax
inc ebx
mov dword [esi + ebx*4], 0x4140f8
inc ebx
call fcn.004018f1
mov dword [esi + ebx*4], eax
inc ebx
call fcn.00401970
mov dword [esi + ebx*4], eax
inc ebx
call fcn.0040198f
push dword [ebp - 0x10]
mov dword [esi + ebx*4], eax
inc ebx
call fcn.004019ae
push dword [ebp + 0x20]
mov dword [esi + ebx*4], eax
inc ebx
call fcn.004019d1
pop ecx
mov dword [esi + ebx*4], eax
pop ecx
inc ebx
call fcn.004019fc
mov dword [esi + ebx*4], eax
inc ebx
call fcn.00401a1d
mov dword [esi + ebx*4], eax
inc ebx
cmp dword [ebp + 0x24], 0
je 0x40158d
mov edi, dword [ebp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40158d
push dword [ebp + 0x24]
call fcn.0040193d
mov dword [esi + ebx*4], eax
pop ecx
inc ebx
call fcn.00401a35
push dword [ebp + 0x30]
mov dword [esi + ebx*4], eax
inc ebx
push dword [ebp + 0x2c]
call fcn.00401800
mov dword [esi + ebx*4], eax
xor edi, edi
pop ecx
inc ebx
cmp dword [ebp - 8], edi
pop ecx
je 0x4015bb
push dword [ebp - 8]
call fcn.004017bc
mov dword [esi + ebx*4], eax
pop ecx
inc ebx
cmp dword [ebp + 0x44], edi
je 0x4015c9
call fcn.00401a4d
mov dword [esi + ebx*4], eax
inc ebx
cmp dword [ebp + 0x34], edi
je 0x4015db
push dword [ebp + 0x34]
call fcn.00401835
mov dword [esi + ebx*4], eax
pop ecx
inc ebx
cmp dword [ebp + 0x38], edi
je 0x4015ed
push dword [ebp + 0x38]
call fcn.00401869
mov dword [esi + ebx*4], eax
pop ecx
inc ebx
mov eax, dword [ebp + 0x10]
mov dword [esi + ebx*4], str.com.sun.javaws.Main
inc ebx
cmp eax, 1
jle 0x401628
mov ecx, dword [ebp + 0x14]
lea edi, [esi + ebx*4]
add ecx, 4
dec eax
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
add ebx, eax
mov eax, dword [ebp + 0x34]
push dword [eax]
call fcn.00404dc5
add dword [ebp + 0x34], 4
mov dword [edi], eax
add edi, 4
dec dword [ebp + 0x38]
pop ecx
jne 0x40160f
and dword [esi + ebx*4], 0
inc ebx
cmp dword [ebp + 0xc], ebx
je 0x40163d
push str.wrong_memory_allocation
call fcn.00406bc1
pop ecx
push 0x414130
call dword [sym.imp.MSVCRT.dll_getenv]
test eax, eax
pop ecx
je 0x4016e1
mov esi, str.Launching:
lea edi, [ebp - 0x4d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test ebx, ebx
movsd dword es:[edi], dword [esi]
jle 0x4016bc
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0x34], ebx
mov eax, dword [edx]
test eax, eax
jne 0x401674
mov eax, 0x414150
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea ebx, [ebp - 0x4d8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
add edx, 4
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x4d8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
dec dword [ebp + 0x34]
mov esi, 0x414154
movsw word es:[edi], word [esi]
jne 0x401669
lea edi, [ebp - 0x4d8]
or ecx, 0xffffffff
xor eax, eax
mov esi, 0x414158
repne scasb al, byte es:[edi]
lea eax, [ebp - 0x4d8]
dec edi
push eax
movsw word es:[edi], word [esi]
call fcn.0040521b
mov esi, dword [ebp - 0xc]
pop ecx
xor edi, edi
cmp dword [ebp + 0x18], edi
je 0x401723
push esi
push dword [ebp - 4]
push 1
call fcn.004052e6
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4017b7
push 0x800
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov esi, eax
push dword [ebp - 4]
push 3
call fcn.0040694c
pop ecx
push eax
push 0x41415c
jmp 0x4017a7
cmp dword [ebp + 0x1c], edi
push esi
push dword [ebp - 4]
je 0x40177a
push 2
call fcn.004052e6
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4017b7
push 0x800
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov esi, eax
push dword [ebp - 4]
push 3
call fcn.0040694c
pop ecx
push eax
push 0x414164
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
cmp dword [ebp + 0x44], edi
je 0x401771
push 1
call dword [sym.imp.MSVCRT.dll_exit]
push esi
call fcn.00406bc1
pop ecx
jmp 0x4017b7
push edi
call fcn.004052e6
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4017b7
push 0x800
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov esi, eax
push dword [ebp - 4]
push 4
call fcn.0040694c
pop ecx
push eax
push str._s__n_s
push esi
call dword [sym.imp.MSVCRT.dll_sprintf]
push esi
call fcn.00406bc1
add esp, 0x14
pop edi
pop esi
pop ebx
leave
ret