Function at 0x4728b0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push edi
push esi
push ebx
cmp dword [0x4c50e0], 0
jne 0x4728d7
add esp, 0xfffffff4
push 0x472827
call fcn.0040d68c
mov dword [0x4c50e0], eax
add esp, 0x10
cmp dword [0x4d5014], 0
jne 0x4728f5
add esp, 0xfffffff4
push 0x47282c
call fcn.0040d68c
mov dword [0x4d5014], eax
add esp, 0x10
cmp dword [0x4d5018], 0
jne 0x472928
add esp, 0xfffffff4
push 0x472830
call fcn.0040d68c
mov dword [0x4d5018], eax
add esp, 0x10
jmp 0x472928
mov eax, dword [edi + esi]
mov dword [0x4c6ca0], eax
jmp 0x472adf
xor ebx, ebx
xor edx, edx
mov esi, 0x5a5770
lea esi, [esi]
lea eax, [edx + edx*8]
lea eax, [edx + eax*2]
shl eax, 3
sub eax, edx
lea edi, [esi + eax*8]
xor eax, eax
cld
mov ecx, 0x12e
rep stosd dword es:[edi], eax
inc ebx
mov edx, ebx
cmp ebx, 0x1f
jle 0x472934
mov dword [0x5af2a0], eax
mov dword [0x5aee70], eax
xor ebx, ebx
cmp dword [0x4d53d0], 0
jle 0x472991
mov edi, 0x4d53d0
mov esi, 1
xor edx, edx
lea esi, [esi]
mov ecx, dword [edi + eax*4]
dec ecx
mov eax, esi
shl eax, cl
or edx, eax
inc ebx
mov eax, ebx
cmp dword [edi + ebx*4], 0
jg 0x472978
mov dword [0x5aee70], edx
mov ebx, 0x10
mov edi, 0x10
mov esi, 1
mov edx, dword [0x5aee70]
mov esi, esi
mov ecx, edi
and ecx, 0xf
mov eax, esi
shl eax, cl
test edx, eax
je 0x4729bd
mov eax, esi
mov ecx, edi
shl eax, cl
or edx, eax
inc ebx
mov edi, ebx
cmp ebx, 0x1f
jle 0x4729a8
mov dword [0x5aee70], edx
cmp dword [0x5a4e30], 0
jne 0x4729de
mov dword [0x5a4e30], 0x472868
mov dword [0x4d5a5c], 1
xor ebx, ebx
xor eax, eax
mov esi, 0x5a5650
xor edx, edx
nop
mov dword [esi + eax*4], 0
lea eax, [ebx + ebx*8]
lea eax, [ebx + eax*2]
shl eax, 3
sub eax, ebx
lea edi, [eax*8 + 0x5a57a8]
mov eax, edx
cld
mov ecx, pe_nt_image_headers32
rep stosd dword es:[edi], eax
inc ebx
mov eax, ebx
cmp ebx, 0x1f
jle 0x4729f4
mov dword [0x4d5a3c], 0x472800
cmp dword [0x4c6ca0], 0
jne 0x472b08
add esp, 0xfffffff4
push 0x472871
call sub.msvcrt.dll_getenv
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x472a55
mov edi, 0x472884
test edi, edi
je 0x472a9d
mov esi, 0x4c6c80
cmp dword [0x4c6c80], 0
je 0x472a9d
xor ebx, ebx
lea esi, [esi]
mov edx, dword [ebx + esi]
mov al, byte [edi]
cmp byte [edx + 0x28], al
jne 0x472a8c
mov eax, dword [edx + 0x40]
test eax, eax
je 0x472a7f
call eax
test eax, eax
je 0x472a8c
mov eax, dword [ebx + esi]
mov dword [0x4c6ca0], eax
jmp 0x472a9d
add ebx, 4
mov esi, 0x4c6c80
cmp dword [ebx + 0x4c6c80], 0
jne 0x472a68
cmp dword [0x4c6ca0], 0
jne 0x472b08
xor ebx, ebx
mov esi, 0x4c6c80
cmp dword [0x4c6c80], 0
je 0x472adf
mov esi, esi
lea edi, [ebx*4]
mov eax, dword [edi + esi]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x472ad3
call eax
test eax, eax
jne 0x472918
inc ebx
mov esi, 0x4c6c80
cmp dword [esi + ebx*4], 0
jne 0x472ab8
cmp dword [0x4c6ca0], 0
jne 0x472b08
add esp, 0xfffffff8
push 0x472886
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xfffffff4
push 1
call sub.msvcrt.dll_exit
cmp dword [0x4d53d8], 0
je 0x472c58
mov dword [0x58d570], 0
call fcn.0046db68
cmp dword [0x4d5a50], 0
jne 0x472b84
add esp, 0xfffffff4
mov edi, dword [0x4d53e4]
mov al, 0
cld
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx + 9]
push eax
call fcn.0040d4d8
mov ecx, eax
mov dword [0x4d5a50], ecx
mov edx, 0x4728a3
mov eax, dword [0x4728a3]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
movzx eax, word [edx + 8]
mov word [ecx + 8], ax
add esp, 0xfffffff8
push dword [0x4d53e4]
push dword [0x4d5a50]
call sub.msvcrt.dll_strcat
add esp, 0x20
xor ebx, ebx
cmp dword [0x4d5020], 0
je 0x472ba9
mov edi, 0x4d5020
add esp, 0xfffffff4
push dword [edi + ebx*4]
call fcn.0048bc7c
add esp, 0x10
inc ebx
cmp dword [edi + ebx*4], 0
jne 0x472b94
add esp, 0xfffffff4
push 0x58d580
call fcn.004b58b4
call fcn.00465f50
call fcn.00465ff0
call fcn.00466170
call fcn.004663a0
call fcn.00466a08
call fcn.00466c68
call fcn.00466ed8
call fcn.00466f38
call fcn.00467114
call fcn.00467240
call fcn.004672c0
call fcn.00467308
call fcn.00467388
call fcn.00466df8
call fcn.00466e68
call fcn.00467138
call fcn.00467198
add esp, 0xfffffff4
push 1
call fcn.00490fc4
xor ebx, ebx
add esp, 0x20
xor eax, eax
mov edx, 0x5a5250
lea esi, [esi]
mov dword [edx + eax*4], 0
lea eax, [ebx + 1]
mov ebx, eax
cmp eax, 0xff
jle 0x472c24
call fcn.0041a0e8
add esp, 0xfffffff4
push 0xffffffffffffffff
call fcn.0040e1d4
add esp, 0xfffffff4
push 0x2a
call fcn.0040e1d4
add esp, 0x20
call fcn.0049d164
mov dword [0x4d53d8], 0
lea esp, [ebp - 0x18]
pop ebx
pop esi
pop edi
leave
ret