Function at 0x429990
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x220]
sub esp, 0x26c
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e83a8]
test al, al
jne 0x4299fc
mov dword [esp], 0x4e83a8
call fcn.004d5a00
test eax, eax
je 0x4299fc
mov dword [esp], ebx
mov ecx, 0x4ecfc0
call fcn.0043167c
push eax
mov dword [esp], 0x4d6e64
call fcn.004013f0
mov dword [esp], 0x4e83a8
call fcn.004d5ad0
mov ecx, 0x4ecfc0
call fcn.0043164c
mov dword [esp], 0x4ecfc0
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82c0]
test al, al
jne 0x429a6c
mov dword [esp], 0x4e82c0
call fcn.004d5a00
test eax, eax
je 0x429a6c
mov dword [esp], ebx
mov ecx, 0x4ecdac
call fcn.0043167c
push edi
mov dword [esp], 0x4d6e8c
call fcn.004013f0
mov dword [esp], 0x4e82c0
call fcn.004d5ad0
mov ecx, 0x4ecdac
call fcn.0043164c
mov dword [esp], 0x4ecdac
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8310]
test al, al
jne 0x429adc
mov dword [esp], 0x4e8310
call fcn.004d5a00
test eax, eax
je 0x429adc
mov dword [esp], ebx
mov ecx, 0x4ece24
call fcn.0043167c
push esi
mov dword [esp], 0x4d6eb8
call fcn.004013f0
mov dword [esp], 0x4e8310
call fcn.004d5ad0
mov ecx, 0x4ece24
call fcn.0043164c
mov dword [esp], 0x4ece24
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8350]
test al, al
jne 0x429b4c
mov dword [esp], 0x4e8350
call fcn.004d5a00
test eax, eax
je 0x429b4c
mov dword [esp], ebx
mov ecx, 0x4ecec8
call fcn.0043167c
push ecx
mov dword [esp], 0x4d6ee0
call fcn.004013f0
mov dword [esp], 0x4e8350
call fcn.004d5ad0
mov ecx, 0x4ecec8
call fcn.0043164c
mov dword [esp], 0x4ecec8
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8380]
test al, al
jne 0x429bbc
mov dword [esp], 0x4e8380
call fcn.004d5a00
test eax, eax
je 0x429bbc
mov dword [esp], ebx
mov ecx, 0x4ecf4c
call fcn.0043167c
push edx
mov dword [esp], 0x4d6f08
call fcn.004013f0
mov dword [esp], 0x4e8380
call fcn.004d5ad0
mov ecx, 0x4ecf4c
call fcn.0043164c
mov dword [esp], 0x4ecf4c
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8388]
test al, al
jne 0x429c2c
mov dword [esp], 0x4e8388
call fcn.004d5a00
test eax, eax
je 0x429c2c
mov dword [esp], ebx
mov ecx, 0x4ecf58
call fcn.0043167c
push eax
mov dword [esp], 0x4d6f30
call fcn.004013f0
mov dword [esp], 0x4e8388
call fcn.004d5ad0
mov ecx, 0x4ecf58
call fcn.0043164c
mov dword [esp], 0x4ecf58
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8390]
test al, al
jne 0x429c9c
mov dword [esp], 0x4e8390
call fcn.004d5a00
test eax, eax
je 0x429c9c
mov dword [esp], ebx
mov ecx, 0x4ecf64
call fcn.0043167c
push eax
mov dword [esp], 0x4d6f58
call fcn.004013f0
mov dword [esp], 0x4e8390
call fcn.004d5ad0
mov ecx, 0x4ecf64
call fcn.0043164c
mov dword [esp], 0x4ecf64
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8398]
test al, al
jne 0x429d0c
mov dword [esp], 0x4e8398
call fcn.004d5a00
test eax, eax
je 0x429d0c
mov dword [esp], ebx
mov ecx, 0x4ecf70
call fcn.0043167c
push eax
mov dword [esp], 0x4d6f8c
call fcn.004013f0
mov dword [esp], 0x4e8398
call fcn.004d5ad0
mov ecx, 0x4ecf70
mov esi, 0x4e7100
mov edi, ebx
call fcn.0043164c
mov dword [esp], 0x4ecf70
call fcn.00424ea0
mov ecx, 0x3f
mov dword [ebp - 0x25f], 0x9170361a
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x4e83a0]
test al, al
jne 0x429d79
mov dword [esp], 0x4e83a0
call fcn.004d5a00
test eax, eax
je 0x429d79
mov dword [esp], ebx
mov ecx, 0x4ecf80
call fcn.00431614
push eax
mov dword [esp], 0x4d6fac
call fcn.004013f0
mov dword [esp], 0x4e83a0
call fcn.004d5ad0
mov ecx, 0x4ecf80
call fcn.004315e4
mov dword [esp], 0x4ecf80
call sub.msvcrt.dll_getenv
test eax, eax
je 0x429e0b
lea eax, [ebp - 0x25f]
call eax
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82c8]
test al, al
jne 0x429df5
mov dword [esp], 0x4e82c8
call fcn.004d5a00
test eax, eax
je 0x429df5
mov dword [esp], ebx
mov ecx, 0x4ecdb8
call fcn.0043167c
push eax
mov dword [esp], 0x4d7050
call fcn.004013f0
mov dword [esp], 0x4e82c8
call fcn.004d5ad0
mov ecx, 0x4ecdb8
call fcn.0043164c
mov dword [esp], 0x4ecdb8
call fcn.00424ea0
cmp dword [0x4e892c], 0
jne 0x429e49
xor edi, edi
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], str.Error
mov dword [esp + 4], str.Cant_call_WinAPI_function.
mov dword [esp], edi
call dword [0x4e8924]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x10
call esi
call esi
mov dword [0], eax
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov byte [ebp - 0x218], 0x42
mov al, byte [0x4e82d0]
test al, al
jne 0x429ea3
mov dword [esp], 0x4e82d0
call fcn.004d5a00
test eax, eax
je 0x429ea3
mov dword [esp], ebx
mov ecx, 0x4ecdc4
call fcn.0043167c
push esi
mov dword [esp], 0x4d7078
call fcn.004013f0
mov dword [esp], 0x4e82d0
call fcn.004d5ad0
mov ecx, 0x4ecdc4
call fcn.0043164c
mov dword [esp], 0x4ecdc4
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82d8]
test al, al
jne 0x429f13
mov dword [esp], 0x4e82d8
call fcn.004d5a00
test eax, eax
je 0x429f13
mov dword [esp], ebx
mov ecx, 0x4ecdd0
call fcn.0043167c
push ecx
mov dword [esp], 0x4d70a0
call fcn.004013f0
mov dword [esp], 0x4e82d8
call fcn.004d5ad0
mov ecx, 0x4ecdd0
call fcn.0043164c
mov dword [esp], 0x4ecdd0
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82e0]
test al, al
jne 0x429f83
mov dword [esp], 0x4e82e0
call fcn.004d5a00
test eax, eax
je 0x429f83
mov dword [esp], ebx
mov ecx, 0x4ecddc
call fcn.0043167c
push edx
mov dword [esp], 0x4d70cc
call fcn.004013f0
mov dword [esp], 0x4e82e0
call fcn.004d5ad0
mov ecx, 0x4ecddc
call fcn.0043164c
mov dword [esp], 0x4ecddc
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82e8]
test al, al
jne 0x429ff3
mov dword [esp], 0x4e82e8
call fcn.004d5a00
test eax, eax
je 0x429ff3
mov dword [esp], ebx
mov ecx, 0x4ecde8
call fcn.0043167c
push eax
mov dword [esp], 0x4d70f4
call fcn.004013f0
mov dword [esp], 0x4e82e8
call fcn.004d5ad0
mov ecx, 0x4ecde8
call fcn.0043164c
mov dword [esp], 0x4ecde8
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82f0]
test al, al
jne 0x42a063
mov dword [esp], 0x4e82f0
call fcn.004d5a00
test eax, eax
je 0x42a063
mov dword [esp], ebx
mov ecx, 0x4ecdf4
call fcn.0043167c
push eax
mov dword [esp], 0x4d7114
call fcn.004013f0
mov dword [esp], 0x4e82f0
call fcn.004d5ad0
mov ecx, 0x4ecdf4
call fcn.0043164c
mov dword [esp], 0x4ecdf4
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e82f8]
test al, al
jne 0x42a0d3
mov dword [esp], 0x4e82f8
call fcn.004d5a00
test eax, eax
je 0x42a0d3
mov dword [esp], ebx
mov ecx, 0x4ece00
call fcn.0043167c
push eax
mov dword [esp], 0x4d7118
call fcn.004013f0
mov dword [esp], 0x4e82f8
call fcn.004d5ad0
mov ecx, 0x4ece00
call fcn.0043164c
mov dword [esp], 0x4ece00
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8300]
test al, al
jne 0x42a143
mov dword [esp], 0x4e8300
call fcn.004d5a00
test eax, eax
je 0x42a143
mov dword [esp], ebx
mov ecx, 0x4ece0c
call fcn.0043167c
push eax
mov dword [esp], 0x4d711c
call fcn.004013f0
mov dword [esp], 0x4e8300
call fcn.004d5ad0
mov ecx, 0x4ece0c
call fcn.0043164c
mov dword [esp], 0x4ece0c
call fcn.00424ea0
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8308]
test al, al
jne 0x42a1b3
mov dword [esp], 0x4e8308
call fcn.004d5a00
test eax, eax
je 0x42a1b3
mov dword [esp], ebx
mov ecx, 0x4ece18
call fcn.0043167c
push eax
mov dword [esp], 0x4d64cc
call fcn.004013f0
mov dword [esp], 0x4e8308
call fcn.004d5ad0
mov ecx, 0x4ece18
mov esi, 0x4e7100
mov edi, ebx
call fcn.0043164c
mov dword [esp], 0x4ece18
call fcn.00424ea0
mov ecx, 0x3f
mov dword [ebp - 0x25f], 0xa5803e1e
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x4e8318]
test al, al
jne 0x42a220
mov dword [esp], 0x4e8318
call fcn.004d5a00
test eax, eax
je 0x42a220
mov dword [esp], ebx
mov ecx, 0x4ece40
call fcn.00431614
push edi
mov dword [esp], 0x4d64d0
call fcn.004013f0
mov dword [esp], 0x4e8318
call fcn.004d5ad0
mov ecx, 0x4ece40
call fcn.004315e4
mov dword [esp], 0x4ece40
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a2b2
lea eax, [ebp - 0x25f]
call eax
mov byte [ebp - 0x218], 0x42
mov dword [ebp - 0x220], 0xc1eb1542
mov dword [ebp - 0x21c], 0x7c90ec48
mov al, byte [0x4e8320]
test al, al
jne 0x42a29c
mov dword [esp], 0x4e8320
call fcn.004d5a00
test eax, eax
je 0x42a29c
mov dword [esp], ebx
mov ecx, 0x4ece80
call fcn.0043167c
push esi
mov dword [esp], 0x4d64dc
call fcn.004013f0
mov dword [esp], 0x4e8320
call fcn.004d5ad0
mov ecx, 0x4ece80
call fcn.0043164c
mov dword [esp], 0x4ece80
call fcn.00424ea0
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call dword [0x4e892c]
push ecx
mov esi, eax
push ecx
mov dword [esp], 0x4ee157
call sub.msvcrt.dll_atoi
cmp eax, esi
jae 0x42a2df
mov dword [esp], ebx
jmp 0x42a755
mov dword [ebp - 0x25f], 0xc1eb1542
lea ebx, [ebp - 0x25f]
mov dword [ebp - 0x25b], 0x7c90ec48
mov byte [ebp - 0x257], 0x42
mov al, byte [0x4e8328]
test al, al
jne 0x42a33f
mov dword [esp], 0x4e8328
call fcn.004d5a00
test eax, eax
je 0x42a33f
mov dword [esp], ebx
mov ecx, 0x4ece8c
call fcn.0043167c
push edx
mov dword [esp], 0x4d64e0
call fcn.004013f0
mov dword [esp], 0x4e8328
call fcn.004d5ad0
mov ecx, 0x4ece8c
call fcn.0043164c
mov dword [esp], 0x4ece8c
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8330]
test al, al
jne 0x42a3af
mov dword [esp], 0x4e8330
call fcn.004d5a00
test eax, eax
je 0x42a3af
mov dword [esp], ebx
mov ecx, 0x4ece98
call fcn.0043167c
push eax
mov dword [esp], 0x4d64e4
call fcn.004013f0
mov dword [esp], 0x4e8330
call fcn.004d5ad0
mov ecx, 0x4ece98
call fcn.0043164c
mov dword [esp], 0x4ece98
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8338]
test al, al
jne 0x42a41f
mov dword [esp], 0x4e8338
call fcn.004d5a00
test eax, eax
je 0x42a41f
mov dword [esp], ebx
mov ecx, 0x4ecea4
call fcn.0043167c
push eax
mov dword [esp], 0x4d64e8
call fcn.004013f0
mov dword [esp], 0x4e8338
call fcn.004d5ad0
mov ecx, 0x4ecea4
call fcn.0043164c
mov dword [esp], 0x4ecea4
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8340]
test al, al
jne 0x42a48f
mov dword [esp], 0x4e8340
call fcn.004d5a00
test eax, eax
je 0x42a48f
mov dword [esp], ebx
mov ecx, 0x4eceb0
call fcn.0043167c
push eax
mov dword [esp], 0x4d64ec
call fcn.004013f0
mov dword [esp], 0x4e8340
call fcn.004d5ad0
mov ecx, 0x4eceb0
call fcn.0043164c
mov dword [esp], 0x4eceb0
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8348]
test al, al
jne 0x42a4ff
mov dword [esp], 0x4e8348
call fcn.004d5a00
test eax, eax
je 0x42a4ff
mov dword [esp], ebx
mov ecx, 0x4ecebc
call fcn.0043167c
push eax
mov dword [esp], 0x4d64f0
call fcn.004013f0
mov dword [esp], 0x4e8348
call fcn.004d5ad0
mov ecx, 0x4ecebc
call fcn.0043164c
mov dword [esp], 0x4ecebc
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8358]
test al, al
jne 0x42a56f
mov dword [esp], 0x4e8358
call fcn.004d5a00
test eax, eax
je 0x42a56f
mov dword [esp], ebx
mov ecx, 0x4eced4
call fcn.0043167c
push eax
mov dword [esp], 0x4d64f4
call fcn.004013f0
mov dword [esp], 0x4e8358
call fcn.004d5ad0
mov ecx, 0x4eced4
call fcn.0043164c
mov dword [esp], 0x4eced4
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8360]
test al, al
jne 0x42a5df
mov dword [esp], 0x4e8360
call fcn.004d5a00
test eax, eax
je 0x42a5df
mov dword [esp], ebx
mov ecx, 0x4ecee0
call fcn.0043167c
push edi
mov dword [esp], 0x4d64f8
call fcn.004013f0
mov dword [esp], 0x4e8360
call fcn.004d5ad0
mov ecx, 0x4ecee0
call fcn.0043164c
mov dword [esp], 0x4ecee0
call fcn.00424ea0
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8368]
test al, al
jne 0x42a64f
mov dword [esp], 0x4e8368
call fcn.004d5a00
test eax, eax
je 0x42a64f
mov dword [esp], ebx
mov ecx, 0x4eceec
call fcn.0043167c
push esi
mov dword [esp], 0x4d64fc
call fcn.004013f0
mov dword [esp], 0x4e8368
call fcn.004d5ad0
mov ecx, 0x4eceec
mov esi, 0x4e7100
mov edi, ebx
call fcn.0043164c
mov dword [esp], 0x4eceec
call fcn.00424ea0
mov ecx, 0x3f
mov dword [ebp - 0x263], 0xb9904622
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x4e8370]
test al, al
jne 0x42a6bc
mov dword [esp], 0x4e8370
call fcn.004d5a00
test eax, eax
je 0x42a6bc
mov dword [esp], ebx
mov ecx, 0x4ecf00
call fcn.00431614
push ecx
mov dword [esp], 0x4d6500
call fcn.004013f0
mov dword [esp], 0x4e8370
call fcn.004d5ad0
mov ecx, 0x4ecf00
call fcn.004315e4
mov dword [esp], 0x4ecf00
call sub.msvcrt.dll_getenv
test eax, eax
je 0x42a74e
lea eax, [ebp - 0x263]
call eax
mov byte [ebp - 0x257], 0x42
mov dword [ebp - 0x25f], 0xc1eb1542
mov dword [ebp - 0x25b], 0x7c90ec48
mov al, byte [0x4e8378]
test al, al
jne 0x42a738
mov dword [esp], 0x4e8378
call fcn.004d5a00
test eax, eax
je 0x42a738
mov dword [esp], ebx
mov ecx, 0x4ecf40
call fcn.0043167c
push edx
mov dword [esp], 0x4d650c
call fcn.004013f0
mov dword [esp], 0x4e8378
call fcn.004d5ad0
mov ecx, 0x4ecf40
call fcn.0043164c
mov dword [esp], 0x4ecf40
call fcn.00424ea0
mov dword [esp], 0x4ee184
mov ecx, dword [ebp + 8]
call fcn.004c4214
push eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret