Function at 0x46293c
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x10c], eax
xor eax, eax
push ebp
push 0x462d67
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x462d74
call sub.user32.dll_RegisterWindowMessageA
mov dword [0x470f0c], eax
push 0x462d88
call sub.user32.dll_RegisterWindowMessageA
mov dword [0x470f10], eax
push 0x462da4
call sub.user32.dll_RegisterWindowMessageA
mov dword [0x470f14], eax
push 0x462db4
call sub.user32.dll_RegisterWindowMessageA
mov dword [0x470f18], eax
push 0x462dc8
call sub.user32.dll_RegisterWindowMessageA
mov dword [0x470f1c], eax
push 0x105
lea eax, [ebp - 0x105]
push eax
push 0x462de4
call sub.kernel32.dll_GetEnvironmentVariableA
test eax, eax
je 0x462a0c
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x105]
mov ecx, 0x105
call fcn.00404cbc
mov ecx, dword [ebp - 0x10c]
mov dl, 1
mov eax, dword [0x4652b4]
call fcn.004653bc
mov ebx, eax
jmp 0x462a1f
mov ecx, 0x462e00
mov dl, 1
mov eax, dword [0x4652b4]
call fcn.004653bc
mov ebx, eax
push 0x462e14
push 0
mov ecx, 0x462e20
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f20], al
lea eax, [ebp - 0x105]
xor ecx, ecx
mov edx, 0x105
call fcn.00403554
push 0x105
lea eax, [ebp - 0x105]
push eax
push 0x462e28
call sub.kernel32.dll_GetEnvironmentVariableA
test eax, eax
je 0x462a83
mov eax, 0x470f24
lea edx, [ebp - 0x105]
mov ecx, 0x105
call fcn.00404cbc
mov byte [0x470f20], 1
jmp 0x462ac0
push 0x462e40
push 0
lea eax, [ebp - 0x114]
push eax
mov ecx, 0x462e20
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [ebp - 0x114]
lea edx, [ebp - 0x110]
call fcn.004094e8
mov edx, dword [ebp - 0x110]
mov eax, 0x470f24
call fcn.00404aa0
lea eax, [ebp - 0x105]
xor ecx, ecx
mov edx, 0x105
call fcn.00403554
push 0x105
lea eax, [ebp - 0x105]
push eax
push 0x462e48
call sub.kernel32.dll_GetEnvironmentVariableA
test eax, eax
je 0x462b14
lea eax, [ebp - 0x118]
lea edx, [ebp - 0x105]
mov ecx, 0x105
call fcn.00404cbc
mov eax, dword [ebp - 0x118]
call fcn.00408e24
mov dword [0x470f28], eax
jmp 0x462b2e
push 0x462e60
push 0
mov ecx, 0x462e20
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [0x470f28], eax
cmp dword [0x470f28], 0
jne 0x462b40
mov byte [0x470f2c], 0
jmp 0x462b5a
push 0x462e74
push 0
mov ecx, 0x462e20
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f2c], al
push 0x462e88
push 0
mov ecx, 0x462e20
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x46b8b4], al
push 0x462e98
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f38], al
push 0x462ebc
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f39], al
push 0x462ed0
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f3a], al
push 0x462ee0
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f3b], al
push 0x462ef8
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [0x470f44], eax
push 0x462f0c
push 2
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [0x470f3c], eax
push 0x462f20
push 1
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f40], al
push 0x462f3c
push 1
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f41], al
push 0x462f54
push 1
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f48], al
push 0x462f68
push 1
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x46b8c0], al
push 0x462f80
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x470f2d], al
push 0x462f94
push 0
lea eax, [ebp - 0x11c]
push eax
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x14]
mov edx, dword [ebp - 0x11c]
mov eax, 0x470f30
call fcn.00404aa0
push 0x462fac
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [0x470f34], eax
push 0x462fc8
push 1
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x1c]
mov byte [0x46b8b8], al
cmp dword [0x46b8bc], 0
jne 0x462d15
push 0x462fe0
push 0
mov ecx, 0x462eac
xor edx, edx
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x18]
mov dword [0x46b8bc], eax
cmp byte [0x470f2d], 0
je 0x462d42
cmp dword [0x470f30], 0
jne 0x462d42
lea eax, [ebp - 0x120]
call fcn.004669bc
mov edx, dword [ebp - 0x120]
mov eax, 0x470f30
call fcn.00404aa0
mov eax, ebx
call fcn.00403c20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x462d6e
lea eax, [ebp - 0x120]
mov edx, 6
call fcn.00404a70
ret