Function at 0x40e540
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x44d024]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], ebx
lea eax, [esi + 0x1000]
cmp eax, 0x2000
jb 0x40e58b
mov edx, dword [ebp + 0x10]
lea eax, [ecx + 0x1000]
cmp eax, 0x2000
jae 0x40e5a0
test ecx, ecx
je 0x40e5a4
mov eax, 0xfffffffa
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401220
mov esp, ebp
pop ebp
ret
test ecx, ecx
jne 0x40e5a8
test edx, edx
jne 0x40e5c7
lea eax, [ebx + 0x1000]
cmp eax, 0x2000
jae 0x40e5bb
test ebx, ebx
je 0x40e5bf
jmp 0x40e58b
test ebx, ebx
jne 0x40e5dc
test ecx, ecx
je 0x40e5c7
test edx, edx
jne 0x40e5dc
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401220
mov esp, ebp
pop ebp
ret
push 0x3d
push esi
call sym.exceptionsR3.exe_nocrt_strchr
add esp, 8
test eax, eax
jne 0x40e77d
test ebx, ebx
je 0x40e5f5
mov dword [ebx], eax
push str.D:_tinderbox_testsuite_srcVBoxRuntime_r3winenv_win.cpp
lea eax, [ebp - 0x410]
push eax
push esi
call fcn.00405f90
add esp, 0xc
test eax, eax
js 0x40e590
push edi
push 0
mov esi, 0x200
mov dword [ebp - 0x408], 0
lea edi, [ebp - 0x404]
mov dword [ebp - 0x414], 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push esi
mov eax, edi
push eax
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ebx, eax
mov dword [ebp - 0x40c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, esi
jb 0x40e6e5
xor ebx, ebx
mov edi, edi
push dword [ebp - 0x408]
call fcn.00408e00
add esp, 4
cmp esi, 0x8000
jae 0x40e711
mov esi, dword [ebp - 0x40c]
add esi, dword [ebp - 0x414]
cmp esi, ebx
jae 0x40e68c
mov esi, ebx
lea eax, [esi + esi]
push str.D:_tinderbox_testsuite_srcVBoxRuntime_r3winenv_win.cpp
push eax
call fcn.00408dc0
mov edi, eax
mov dword [ebp - 0x408], eax
add esp, 8
test edi, edi
je 0x40e70a
inc dword [ebp - 0x414]
add ebx, 0x200
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
push esi
push edi
push dword [ebp - 0x410]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov dword [ebp - 0x40c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x40c], esi
jae 0x40e660
mov ebx, dword [ebp - 0x40c]
test ebx, ebx
jne 0x40e718
test eax, eax
jne 0x40e6ff
push dword [ebp - 0x410]
call fcn.0040e290
add esp, 4
test eax, eax
je 0x40e718
push eax
call fcn.0040c9b0
add esp, 4
jmp 0x40e74e
mov esi, 0xffffffec
jmp 0x40e756
mov esi, 0xffffff1d
jmp 0x40e750
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x40e73e
push str.D:_tinderbox_testsuite_srcVBoxRuntime_r3winenv_win.cpp
push dword [ebp - 0x418]
push eax
lea eax, [ebp - 0x41c]
push eax
push ebx
push edi
call fcn.0040ed70
add esp, 0x18
jmp 0x40e74e
push dword [ebp - 0x418]
push ebx
push edi
call fcn.0040ebb0
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x408]
push eax
call fcn.00408e00
push dword [ebp - 0x410]
call fcn.0040a190
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401220
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0xfffffd10
pop esi
xor ecx, ebp
pop ebx
call fcn.00401220
mov esp, ebp
pop ebp
ret