Function at 0x401014
Capabilities:
Query environment variable

Disassembly:
jmp 0x401050
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
xor esi, esi
push str._JAVA_LAUNCHER_DEBUG
mov dword [esp + 0x24], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], esi
xor ebp, ebp
xor bl, bl
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 4
test eax, eax
je 0x401098
mov edi, dword [sym.imp.MSVCRT.dll_printf]
push 0x406478
mov byte [0x40747c], 1
call edi
add esp, 4
jmp 0x40109e
mov edi, dword [sym.imp.MSVCRT.dll_printf]
cmp dword [esp + 0x30], 1
jle 0x4010e6
mov eax, dword [esp + 0x34]
mov edi, str._hotspot
mov ecx, 9
xor edx, edx
mov eax, dword [eax + 4]
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4010c5
mov ebp, 0x4064a4
jmp 0x4010dc
mov esi, eax
mov edi, str._classic
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4010de
mov ebp, 0x4064b8
mov bl, 1
mov edi, dword [sym.imp.MSVCRT.dll_printf]
xor esi, esi
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
push ecx
push ebp
mov dword [esp + 0x30], esi
call fcn.0040101e
add esp, 8
test al, al
jne 0x40110d
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x34]
push 0x5c
mov ecx, dword [eax]
add eax, 4
push ecx
mov dword [0x407470], ecx
mov dword [esp + 0x3c], eax
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
cmp eax, esi
je 0x401136
inc eax
mov dword [0x407470], eax
mov ecx, dword [esp + 0x30]
dec ecx
test bl, bl
mov dword [esp + 0x30], ecx
je 0x401157
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
add ecx, 4
dec eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
lea edx, [esp + 0x34]
lea eax, [esp + 0x30]
push edx
push eax
call fcn.00401fa0
add esp, 8
call fcn.00402070
test al, al
jne 0x40117f
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0x4064c0
call dword [sym.imp.MSVCRT.dll_getenv]
add esp, 4
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
lea eax, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.00401690
add esp, 0x14
test al, al
je 0x401575
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x4011c7
push eax
call fcn.00401590
add esp, 4
mov al, byte [0x40747c]
test al, al
je 0x4011db
call fcn.0040100f
mov ebx, eax
mov esi, edx
jmp 0x4011e3
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.00401b60
add esp, 0xc
test al, al
jne 0x401222
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.Could_not_create_the_Java_virtual_machine._n
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov al, byte [0x407478]
test al, al
je 0x401272
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00402270
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [eax]
push eax
call dword [edx + 0x3c]
test eax, eax
je 0x401563
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x14]
jne 0x40129d
test eax, eax
jne 0x40129d
call fcn.00402400
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov cl, byte [0x40747c]
test cl, cl
je 0x401320
call fcn.0040100f
sub eax, ebx
sbb edx, esi
push edx
push eax
call fcn.0040100a
add esp, 8
push eax
push str._ld_micro_seconds_to_InitializeJVM_n
call edi
mov cl, byte [0x40747c]
mov eax, dword [esp + 0x1c]
add esp, 8
test cl, cl
je 0x401320
xor esi, esi
test eax, eax
jne 0x4012de
mov eax, 0x407480
push eax
push str.Main_Class_is__s_n
call edi
mov edx, dword [esp + 0x38]
add esp, 8
push edx
push str.Apps_argc_is__d_n
call edi
mov eax, dword [esp + 0x38]
add esp, 8
test eax, eax
jle 0x40131c
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + esi*4]
push ecx
push esi
push str.____argv__2d____s_n
call edi
mov eax, dword [esp + 0x3c]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x401300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], 1
test ecx, ecx
je 0x401402
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.00401e70
mov edi, eax
add esp, 8
test edi, edi
jne 0x40137b
mov eax, dword [esp + 0x1c]
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
push eax
add ecx, 0x40
push str.Failed_to_load_Main_Class_manifest_attribute_from_n_s_n
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x3c]
test eax, eax
mov eax, dword [esp + 0x10]
je 0x4013a9
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [eax]
push 0
push edi
push eax
call dword [edx + 0x2a4]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4013dd
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [esp + 0x10]
push eax
push edx
call fcn.00401dc0
mov edx, dword [esp + 0x1c]
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x10]
push edx
push edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2a8]
jmp 0x401412
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.00401dc0
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x10]
test esi, esi
jne 0x401436
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov edx, dword [eax]
push str.__Ljava_lang_String__V
push str.main
push esi
push eax
call dword [edx + 0x1c4]
mov edi, eax
test edi, edi
jne 0x4014ab
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
je 0x40147e
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.No_main_method_found_in_specified_class._n
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, dword [esp + 0x28]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
call fcn.00401c90
add esp, 0xc
test eax, eax
jne 0x4014e6
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x10]
push eax
push edi
push esi
mov edx, dword [ecx]
push ecx
call dword [edx + 0x234]
mov eax, dword [esp + 0x20]
add esp, 0x10
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
test eax, eax
je 0x401527
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
je 0x401563
mov edx, dword [sym.imp.MSVCRT.dll__iob]
push str.Could_not_detach_main_thread._n
add edx, 0x40
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
mov eax, dword [esp + 0x28]
add esp, 8
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret