Function at 0x4563dc
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2c
push 0
push 0
dec ecx
jne 0x4563e4
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x45687d
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00402908
mov dl, 1
mov eax, dword [0x42aac4]
call fcn.0042ab70
mov ebx, eax
mov edx, 0x80000001
mov eax, ebx
call fcn.0042ac10
xor ecx, ecx
mov edx, 0x456894
mov eax, ebx
call fcn.0042ac74
xor ecx, ecx
mov edx, 0x4568a8
mov eax, ebx
call fcn.0042ac74
xor ecx, ecx
mov edx, 0x4568bc
mov eax, ebx
call fcn.0042ac74
xor ecx, ecx
mov edx, 0x4568d8
mov eax, ebx
call fcn.0042ac74
mov ecx, 0x4568e8
mov edx, 0x45690c
mov eax, ebx
call fcn.0042ad98
mov eax, ebx
call fcn.0042abe0
mov eax, ebx
call fcn.00403150
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x1a], 0
mov byte [ebp - 0x1b], 0
push 0x104
lea eax, [ebp - 0x129]
push eax
push 0x456918
call sub.kernel32.dll_GetEnvironmentVariableA
lea eax, [ebp - 8]
lea edx, [ebp - 0x129]
mov ecx, 0x105
call fcn.00404110
lea eax, [ebp - 8]
mov edx, 0x456930
call fcn.00404168
mov eax, dword [ebp - 8]
call fcn.004082b0
test al, al
je 0x456524
lea eax, [ebp - 0x130]
mov ecx, 0x456958
mov edx, dword [ebp - 8]
call fcn.004041ac
mov eax, dword [ebp - 0x130]
call fcn.004082a0
test al, al
jne 0x456524
push 0x456970
push 0xa
mov ecx, dword [0x45a664]
mov dl, 1
mov eax, dword [0x412020]
call fcn.00416140
mov ebx, eax
lea eax, [ebp - 0x134]
mov ecx, 0x456958
mov edx, dword [ebp - 8]
call fcn.004041ac
mov edx, dword [ebp - 0x134]
mov eax, ebx
call fcn.00415f3c
mov eax, ebx
call fcn.00403150
push 0xff
lea eax, [ebp - 0x129]
push eax
push 0x456974
call sub.kernel32.dll_GetEnvironmentVariableA
lea eax, [ebp - 8]
lea edx, [ebp - 0x129]
mov ecx, 0x105
call fcn.00404110
lea eax, [ebp - 8]
mov edx, 0x456984
call fcn.00404168
lea eax, [ebp - 0x138]
mov ecx, 0x4569a0
mov edx, dword [ebp - 8]
call fcn.004041ac
mov eax, dword [ebp - 0x138]
call fcn.004082a0
test al, al
je 0x456852
lea eax, [ebp - 0x13c]
mov ecx, 0x4569a0
mov edx, dword [ebp - 8]
call fcn.004041ac
mov ecx, dword [ebp - 0x13c]
mov dl, 1
mov eax, dword [0x429b78]
call fcn.00429c28
mov dword [ebp - 4], eax
mov dl, 1
mov eax, dword [0x411cb4]
call fcn.00403120
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x456842
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 1
push 0
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x140]
mov edx, dword [ebp - 0x18]
dec edx
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x140]
mov ecx, 0x4569b8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov al, byte [0x4569c0]
push eax
lea eax, [ebp - 0x144]
push eax
mov ecx, 0x4569cc
mov edx, 0x4569d8
mov eax, dword [ebp - 0xc]
call fcn.0040c910
mov edx, dword [ebp - 0x144]
lea eax, [ebp - 0xc]
call fcn.00403f38
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0x4569cc
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404220
lea eax, [ebp - 0x148]
mov ecx, 0x4569e4
mov edx, dword [ebp - 0xc]
call fcn.004041ac
mov eax, dword [ebp - 0x148]
call fcn.004082a0
test al, al
je 0x456836
mov dl, 1
mov eax, dword [0x411cb4]
call fcn.00403120
mov ebx, eax
lea eax, [ebp - 0x14c]
mov ecx, 0x4569e4
mov edx, dword [ebp - 0xc]
call fcn.004041ac
mov edx, dword [ebp - 0x14c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4567c4
mov dword [ebp - 0x24], eax
mov esi, 1
lea ecx, [ebp - 0x10]
mov edx, esi
dec edx
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x10]
call fcn.00407aa4
mov edx, dword [ebp - 0x150]
mov eax, 0x4569f8
call fcn.004044a4
test eax, eax
je 0x456703
lea eax, [ebp - 0x10]
mov edx, 0x456a1c
call fcn.00403f38
mov edx, esi
dec edx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
mov byte [ebp - 0x19], 1
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x10]
call fcn.00407aa4
mov edx, dword [ebp - 0x154]
mov eax, 0x456a68
call fcn.004044a4
test eax, eax
je 0x456743
lea eax, [ebp - 0x10]
mov edx, 0x456a90
call fcn.00403f38
mov edx, esi
dec edx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
mov byte [ebp - 0x1a], 1
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x10]
call fcn.00407aa4
mov edx, dword [ebp - 0x158]
mov eax, 0x456ad4
call fcn.004044a4
test eax, eax
je 0x456783
lea eax, [ebp - 0x10]
mov edx, 0x456aec
call fcn.00403f38
mov edx, esi
dec edx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
mov byte [ebp - 0x1b], 1
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x10]
call fcn.00407aa4
mov edx, dword [ebp - 0x15c]
mov eax, 0x456b38
call fcn.004044a4
test eax, eax
je 0x4567ba
lea eax, [ebp - 0x10]
call fcn.00403ea0
mov edx, esi
dec edx
mov ecx, dword [ebp - 0x10]
mov eax, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc esi
dec dword [ebp - 0x24]
jne 0x4566b6
cmp byte [ebp - 0x19], 0
jne 0x4567d6
mov edx, 0x456a1c
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x1a], 0
jne 0x4567e8
mov edx, 0x456a90
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp byte [ebp - 0x1b], 0
jne 0x456806
mov edx, 0x456aec
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x456806
push 0x3e8
call sub.kernel32.dll_Sleep_1
call fcn.0045628c
test al, al
jne 0x4567fc
lea eax, [ebp - 0x160]
mov ecx, 0x4569e4
mov edx, dword [ebp - 0xc]
call fcn.004041ac
mov edx, dword [ebp - 0x160]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x74]
mov eax, ebx
call fcn.00403150
inc dword [ebp - 0x18]
dec dword [ebp - 0x20]
jne 0x4565dc
mov eax, dword [ebp - 0x14]
call fcn.00403150
mov eax, dword [ebp - 4]
call fcn.00403150
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x456884
lea eax, [ebp - 0x160]
mov edx, 0xd
call fcn.00403ec4
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403ec4
ret