Function at 0x41e9d0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x508
mov eax, dword [0x43d25c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x508], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
cmp eax, 0xd
ja case.default.0x41e9fe
jmp dword [eax*4 + 0x41efc8]
push 0x43c5a4
call dword [sym.imp.MSVCR100.dll_getenv]
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ea20
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41ea20
jmp case.default.0x41e9fe
push 0x43c5b4
call dword [sym.imp.MSVCR100.dll_getenv]
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41ea45
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push 0x43c5c0
call esi
add esp, 4
test eax, eax
jne 0x41eaae
push 0x43c5c4
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41ea80
mov eax, str._tpl
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ea91
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41eaa1
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eab6
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push 0x43c5d8
call esi
add esp, 4
test eax, eax
jne 0x41eb1e
push 0x43c5e0
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41eaf0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eaf0
mov eax, str._misc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41eb01
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41eb11
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eb26
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push 0x43c5f4
call esi
add esp, 4
test eax, eax
jne 0x41eb8e
push 0x43c5f8
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41eb60
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eb60
mov eax, str._dbs
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41eb71
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41eb81
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eb96
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.CONFIG
call esi
add esp, 4
test eax, eax
jne 0x41ebfe
push 0x43c618
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ebd0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ebd0
mov eax, str._config
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ebe1
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ebf1
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ec06
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.TMPF
call esi
add esp, 4
test eax, eax
jne 0x41ec6e
push 0x43c638
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ec40
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ec40
mov eax, str._tmpf
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ec51
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ec61
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ec76
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.HELP
call esi
add esp, 4
test eax, eax
jne 0x41ecde
push str.CEM_RT_ROOT
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ecb0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ecb0
mov eax, str._help
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ecc1
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ecd1
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ece6
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.RAWDBS
call esi
add esp, 4
test eax, eax
jne 0x41ed4e
push 0x43c674
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ed20
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ed20
mov eax, str._rawdbs
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ed31
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ed41
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ed56
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.REPORT
call esi
add esp, 4
test eax, eax
jne 0x41edbe
push 0x43c694
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ed90
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ed90
mov eax, str._report
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41eda1
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41edb1
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41edc6
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.ERROR
call esi
add esp, 4
test eax, eax
jne 0x41ee2e
push 0x43c6b4
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ee00
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ee00
mov eax, 0x43c6c4
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ee11
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ee21
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ee36
jmp case.default.0x41e9fe
mov esi, dword [sym.imp.MSVCR100.dll_getenv]
push str.DCASROOT
call esi
add esp, 4
test eax, eax
jne 0x41ee9b
push 0x43c6d8
call esi
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
jmp 0x41ee70
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ee70
mov eax, str._error
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ee81
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ee91
jmp 0x41ef10
lea edx, [ebp - 0x504]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eea3
jmp case.default.0x41e9fe
push str.HOME
call dword [sym.imp.MSVCR100.dll_getenv]
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41eec5
jmp case.default.0x41e9fe
push str.CEM_DATA_ROOT
call dword [sym.imp.MSVCR100.dll_getenv]
lea edx, [ebp - 0x504]
add esp, 4
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41eee7
mov eax, str._custom_iq
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41eef8
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ef08
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, 0x43c714
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41ef27
lea edi, [ebp - 0x504]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ef37
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41ef53
lea edi, [ebp - 0x504]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x41ef65
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x508]
lea eax, [ebp - 0x504]
mov edx, esi
mov ecx, eax
sub edx, ecx
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x41ef90
push 0x43c718
push 0x43c71c
lea edx, [ebp - 0x504]
push edx
push esi
call fcn.004235e0
mov ecx, dword [ebp - 4]
add esp, 0x10
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004248f0
mov esp, ebp
pop ebp
ret