Function at 0x407819
Capabilities:
Query environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x4654]
mov eax, 0x4654
call fcn.0041d7b0
push 0xffffffffffffffff
push 0x436ce8
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x450970]
xor eax, ebp
mov dword [ebp + 0x4650], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x465c]
push 0x1770
lea eax, [ebp]
push eax
push 0x79
mov dword [ebp - 0x18], edi
call fcn.004037a1
lea eax, [ebp]
push eax
push str.classpath_entry__S
call fcn.0040b684
add esp, 0x14
lea ecx, [ebp - 0x30]
call fcn.00417a42
and dword [ebp - 4], 0
mov ebx, 0x438e34
push ebx
lea eax, [ebp]
push eax
jmp 0x4078cc
push esi
call fcn.0041d280
pop ecx
test eax, eax
je 0x4078d9
push esi
call fcn.0041d280
inc eax
push eax
call fcn.0041d128
push esi
push eax
mov dword [ebp - 0x14], eax
call fcn.0041d6a0
add esp, 0x10
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
call fcn.00417ad7
push ebx
push 0
call fcn.0041e0b0
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x407898
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
sar eax, 2
push eax
push 0x43a4e4
call fcn.0040b684
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
and dword [ebp - 0x14], 0
sar eax, 2
pop ecx
pop ecx
test eax, eax
jbe 0x407ad3
push dword [ebp - 0x14]
lea ecx, [ebp - 0x30]
call fcn.00406931
mov esi, dword [eax]
lea eax, [esi + 2]
push eax
lea eax, [ebp + 0x1770]
push eax
call fcn.0041d6a0
lea eax, [ebp + 0x1770]
push eax
call fcn.004066c9
movsx eax, byte [esi]
add esp, 0xc
cmp byte [esi + 1], 0x31
sete byte [ebp - 0xe]
sub eax, 0x41
je 0x407a5b
sub eax, 3
je 0x407a5b
dec eax
je 0x40799f
sub eax, 0xe
jne 0x407a98
push eax
lea eax, [ebp + 0x1770]
push eax
lea eax, [ebp + 0x2ee0]
push eax
call fcn.004052e5
push 0x43a4e0
lea eax, [ebp + 0x2ee0]
push eax
push edi
call fcn.00406dd4
mov byte [ebp - 0xd], al
push 0x43a4dc
lea eax, [ebp + 0x2ee0]
push eax
push edi
call fcn.00406dd4
add esp, 0x24
or byte [ebp - 0xd], al
jmp 0x407a98
push 0x1770
lea eax, [ebp + 0x2ee0]
push eax
lea eax, [ebp + 0x1770]
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x407a33
cmp byte [ebp + 0x2ee0], 0x22
jne 0x4079f8
lea eax, [ebp + 0x2ee0]
lea edi, [ebp + 0x2ee0]
push eax
dec edi
call fcn.0041d280
cmp byte [eax + edi], 0x22
pop ecx
jne 0x4079f8
lea eax, [ebp + 0x2ee0]
push eax
call fcn.0041d280
mov byte [eax + edi], 0
pop ecx
lea eax, [ebp + 0x2ee1]
jmp 0x4079fe
lea eax, [ebp + 0x2ee0]
mov ecx, dword [ebp - 0x18]
push eax
call fcn.004057ae
lea eax, [ebp + 0x2ee0]
push eax
call fcn.0041d280
pop ecx
lea ecx, [ebp + 0x2ee0]
dec ecx
cmp byte [eax + ecx], 0x3b
je 0x407a2a
mov ecx, dword [ebp - 0x18]
push ebx
call fcn.004057ae
mov edi, dword [ebp - 0x18]
mov byte [ebp - 0xd], 1
jmp 0x407a98
cmp byte [ebp - 0xe], 0
je 0x407ab7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xcb
jne 0x407a98
lea eax, [ebp + 0x1770]
push eax
push 0x3f0
call fcn.00403f91
pop ecx
pop ecx
jmp 0x407a98
push 0
lea eax, [ebp + 0x1770]
push eax
lea eax, [ebp + 0x2ee0]
push eax
call fcn.004054f2
lea eax, [ebp + 0x2ee0]
push eax
call fcn.0040470e
mov byte [ebp - 0xd], al
add esp, 0x10
lea eax, [ebp + 0x2ee0]
push eax
mov ecx, edi
call fcn.004057ae
push ebx
mov ecx, edi
call fcn.004057ae
cmp byte [ebp - 0xe], 0
je 0x407ab7
cmp byte [ebp - 0xd], 0
jne 0x407ab7
lea eax, [ebp + 0x1770]
push eax
push 0x3ee
call fcn.00403f91
pop ecx
pop ecx
push esi
call fcn.0041d558
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x24]
inc dword [ebp - 0x14]
sar eax, 2
pop ecx
cmp dword [ebp - 0x14], eax
jb 0x407904
lea ecx, [ebp - 0x30]
call fcn.00406cf9
push dword [ebp - 0x30]
call fcn.0041d558
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4650]
xor ecx, ebp
call fcn.0041d798
add ebp, 0x4654
leave
ret