Function at 0x430518
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x58]
sub esp, 0x7c
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e88a8]
test al, al
jne 0x430575
mov dword [esp], 0x4e88a8
call fcn.004d5a00
test eax, eax
je 0x430575
mov dword [esp], ebx
mov ecx, 0x4edb60
call fcn.0043167c
push edx
mov dword [esp], 0x4d660c
call fcn.004013f0
mov dword [esp], 0x4e88a8
call fcn.004d5ad0
mov ecx, 0x4edb60
call fcn.0043164c
mov dword [esp], 0x4edb60
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8860]
test al, al
jne 0x4305dc
mov dword [esp], 0x4e8860
call fcn.004d5a00
test eax, eax
je 0x4305dc
mov dword [esp], ebx
mov ecx, 0x4edaac
call fcn.0043167c
push eax
mov dword [esp], 0x4d6610
call fcn.004013f0
mov dword [esp], 0x4e8860
call fcn.004d5ad0
mov ecx, 0x4edaac
call fcn.0043164c
mov dword [esp], 0x4edaac
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8870]
test al, al
jne 0x430643
mov dword [esp], 0x4e8870
call fcn.004d5a00
test eax, eax
je 0x430643
mov dword [esp], ebx
mov ecx, 0x4edac4
call fcn.0043167c
push eax
mov dword [esp], 0x4d6618
call fcn.004013f0
mov dword [esp], 0x4e8870
call fcn.004d5ad0
mov ecx, 0x4edac4
call fcn.0043164c
mov dword [esp], 0x4edac4
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8878]
test al, al
jne 0x4306aa
mov dword [esp], 0x4e8878
call fcn.004d5a00
test eax, eax
je 0x4306aa
mov dword [esp], ebx
mov ecx, 0x4edad0
call fcn.0043167c
push eax
mov dword [esp], 0x4d661c
call fcn.004013f0
mov dword [esp], 0x4e8878
call fcn.004d5ad0
mov ecx, 0x4edad0
call fcn.0043164c
mov dword [esp], 0x4edad0
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8880]
test al, al
jne 0x430711
mov dword [esp], 0x4e8880
call fcn.004d5a00
test eax, eax
je 0x430711
mov dword [esp], ebx
mov ecx, 0x4edadc
call fcn.0043167c
push eax
mov dword [esp], 0x4d6620
call fcn.004013f0
mov dword [esp], 0x4e8880
call fcn.004d5ad0
mov ecx, 0x4edadc
call fcn.0043164c
mov dword [esp], 0x4edadc
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8888]
test al, al
jne 0x430778
mov dword [esp], 0x4e8888
call fcn.004d5a00
test eax, eax
je 0x430778
mov dword [esp], ebx
mov ecx, 0x4edae8
call fcn.0043167c
push eax
mov dword [esp], 0x4d6624
call fcn.004013f0
mov dword [esp], 0x4e8888
call fcn.004d5ad0
mov ecx, 0x4edae8
call fcn.0043164c
mov dword [esp], 0x4edae8
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8890]
test al, al
jne 0x4307df
mov dword [esp], 0x4e8890
call fcn.004d5a00
test eax, eax
je 0x4307df
mov dword [esp], ebx
mov ecx, 0x4edaf4
call fcn.0043167c
push edi
mov dword [esp], 0x4d6628
call fcn.004013f0
mov dword [esp], 0x4e8890
call fcn.004d5ad0
mov ecx, 0x4edaf4
call fcn.0043164c
mov dword [esp], 0x4edaf4
call fcn.00424ea0
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8898]
test al, al
jne 0x430846
mov dword [esp], 0x4e8898
call fcn.004d5a00
test eax, eax
je 0x430846
mov dword [esp], ebx
mov ecx, 0x4edb00
call fcn.0043167c
push esi
mov dword [esp], 0x4d662c
call fcn.004013f0
mov dword [esp], 0x4e8898
call fcn.004d5ad0
mov ecx, 0x4edb00
mov esi, 0x4e70c0
mov edi, ebx
call fcn.0043164c
mov dword [esp], 0x4edb00
call fcn.00424ea0
mov ecx, 0x10
mov dword [ebp - 0x5c], 0xd170b65a
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x4e88a0]
test al, al
jne 0x4308b2
mov dword [esp], 0x4e88a0
call fcn.004d5a00
test eax, eax
je 0x4308b2
mov eax, 0x4edb20
mov ecx, 0x10
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0x4d6630
call fcn.004013f0
mov dword [esp], 0x4e88a0
call fcn.004d5ad0
xor ecx, ecx
mov dword [esp + 0xc], 0xca45bccb
mov dword [esp + 0x10], 0xaac12c92
mov dword [esp + 4], 0x40
mov dword [esp + 8], ecx
mov dword [esp], 0x4edb20
call fcn.004316a4
mov dword [esp], 0x4edb20
call sub.msvcrt.dll_getenv
test eax, eax
je 0x430958
lea eax, [ebp - 0x5c]
call eax
mov dword [ebp - 0x58], 0xc1eb1542
mov dword [ebp - 0x54], 0x7c90ec48
mov byte [ebp - 0x50], 0x42
mov al, byte [0x4e8868]
test al, al
jne 0x430942
mov dword [esp], 0x4e8868
call fcn.004d5a00
test eax, eax
je 0x430942
mov dword [esp], ebx
mov ecx, 0x4edab8
call fcn.0043167c
push edx
mov dword [esp], 0x4d664c
call fcn.004013f0
mov dword [esp], 0x4e8868
call fcn.004d5ad0
mov ecx, 0x4edab8
call fcn.0043164c
mov dword [esp], 0x4edab8
call fcn.00424ea0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov ecx, dword [ebp + 8]
call fcn.004bfa90
push eax
call sub.msvcrt.dll_rand
mov ecx, 0x45
cdq
idiv ecx
xor eax, eax
mov esi, dword [ebp + 0xc]
cmp eax, dword [esi + 4]
jae 0x430994
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov ecx, dword [esi]
mov ebx, dword [edi]
movsx ecx, byte [ecx + eax]
xor ecx, edx
mov byte [ebx + eax], cl
inc eax
jmp 0x430976
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret