Function at 0x4024e5
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc30
mov eax, dword [0x406014]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
mov dword [ebp - 0xc30], eax
push esi
inc ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x4011cc
push 2
pop esi
push esi
call dword [sym.imp.ucrtbase_clr0400.dll_setlocale]
push esi
mov esi, dword [sym.imp.ucrtbase_clr0400.dll___acrt_iob_func]
call esi
add esp, 0xc
mov ecx, eax
call fcn.00402eb7
test al, al
je 0x402539
mov byte [0x4064ca], bl
push ebx
call esi
pop ecx
mov ecx, eax
call fcn.00402eb7
test al, al
je 0x40254e
mov byte [0x4064c7], bl
cmp dword [ebp + 8], ebx
je 0x402aaf
xor eax, eax
mov byte [ebp - 0xc27], bl
push eax
push eax
push 0x4011d4
mov byte [ebp - 0xc26], al
mov byte [ebp - 0xc25], al
mov dword [ebp - 0xc2c], eax
mov byte [0x4064c4], al
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x40258d
mov byte [0x4064c4], bl
push edi
push 0x2f
pop edx
push 7
xor eax, eax
mov edi, 0x14c
pop ecx
inc eax
push 3
pop esi
cmp dword [ebp + 8], eax
jle 0x4028c5
mov edi, dword [sym.imp.ucrtbase_clr0400.dll__wcsicmp]
mov eax, dword [ebp - 0xc30]
mov esi, dword [eax + ebx*4]
movzx eax, word [esi]
cmp ax, dx
je 0x4025cb
push 0x2d
pop edx
cmp ax, dx
jne 0x4028ba
push 2
pop eax
push ecx
add esi, eax
push 0x401200
push esi
call dword [sym.imp.ucrtbase_clr0400.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x4025f1
lea eax, [esi + 0xe]
mov dword [0x4064d4], eax
jmp 0x40289b
push 0x401210
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40260a
inc eax
mov byte [0x4064c6], al
jmp 0x40289e
push 8
push 0x401224
push esi
call dword [sym.imp.ucrtbase_clr0400.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40274a
push 0x10
pop eax
add esi, eax
push 0x401238
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x40271f
push 0x401244
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40266c
mov eax, 0x1c4
mov word [0x4064cc], ax
push 2
pop eax
mov word [0x4064c8], ax
mov eax, 0xf4
mov word [0x406028], ax
jmp 0x40289b
push 0x40124c
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x402695
mov eax, 0xaa64
mov word [0x4064cc], ax
push 2
pop eax
mov word [0x4064c8], ax
mov eax, 0xf6
jmp 0x402661
push 0x401258
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x4026bf
mov eax, 0xebc
xor ecx, ecx
inc ecx
mov word [0x4064cc], ax
mov word [0x4064c8], cx
mov eax, 0xe0
jmp 0x402661
push 0x401260
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x4026e9
mov eax, 0x200
mov word [0x4064cc], ax
push 0x10
pop eax
mov word [0x4064c8], ax
add eax, 0x70
jmp 0x402661
push 0x40126c
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x402866
push 0x401278
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x402866
push 0x401280
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x4028b2
mov eax, 0x8664
mov word [0x4064cc], ax
mov eax, 0xd0
push 3
pop esi
mov word [0x406028], ax
xor eax, eax
push 7
mov word [0x4064c8], si
inc eax
pop ecx
jmp 0x4028a4
push 0x401288
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x402764
inc eax
mov byte [ebp - 0xc26], al
jmp 0x40289e
push 0x401298
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x402787
mov eax, dword [ebp - 0xc30]
inc ebx
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0xc2c], eax
jmp 0x40289b
push 4
push 0x40129c
push esi
call dword [sym.imp.ucrtbase_clr0400.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x4027aa
add esi, 8
mov dword [ebp - 0xc2c], esi
jmp 0x40289b
push 0x4012a8
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x402894
push 0x4012bc
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x402894
push 9
push 0x4012c0
push esi
call dword [sym.imp.ucrtbase_clr0400.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x402817
lea ecx, [esi + 0x12]
call fcn.00402b72
mov ecx, dword [0x406534]
mov esi, eax
inc ecx
push ecx
call fcn.00402e21
test eax, eax
je 0x402ab6
mov edx, dword [0x406534]
mov ecx, dword [0x406530]
mov dword [ecx + edx*4 - 4], esi
jmp 0x40289b
push 0x4012d4
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x40288a
push 0x4012e4
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x40288a
push 0x4012e8
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x40284a
inc eax
mov byte [ebp - 0xc25], al
jmp 0x40289e
push 0x4012f8
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x402866
push 0x40126c
push esi
call edi
pop ecx
pop ecx
test eax, eax
jne 0x4028b2
push 7
pop ecx
mov eax, 0x14c
mov word [0x4064c8], cx
mov word [0x4064cc], ax
xor eax, eax
push 3
pop esi
mov word [0x406028], si
inc eax
jmp 0x4028a4
xor eax, eax
inc eax
mov byte [0x4064c5], al
jmp 0x40289e
mov byte [ebp - 0xc27], 0
xor eax, eax
inc eax
push 7
pop ecx
push 3
pop esi
inc ebx
cmp ebx, dword [ebp + 8]
jge 0x4028c0
push 0x2f
pop edx
jmp 0x4025ae
xor ecx, ecx
inc ecx
jmp 0x402ab1
xor eax, eax
push 3
inc eax
pop esi
mov edi, 0x14c
cmp ebx, dword [ebp + 8]
jne 0x4028d1
mov ecx, eax
jmp 0x402ab1
cmp byte [ebp - 0xc26], 0
jne 0x402907
push 0x4011ac
mov ecx, 0x1f43
call fcn.00404d81
push eax
call fcn.00402f26
pop ecx
pop ecx
mov ecx, 0x1f44
call fcn.00404d81
mov ecx, eax
call fcn.00402f61
call fcn.00402f35
cmp word [0x4064cc], 0
jne 0x402939
push 0x401278
push 0xfa1
call fcn.00402df7
pop ecx
pop ecx
push 7
pop eax
mov word [0x4064cc], di
mov word [0x4064c8], ax
mov word [0x406028], si
cmp ebx, dword [ebp + 8]
jge 0x402a51
mov edi, dword [sym.imp.ucrtbase_clr0400.dll__wmakepath_s]
mov ecx, 0x100
mov eax, dword [ebp - 0xc30]
push 0x2f
pop edx
mov esi, dword [eax + ebx*4]
movzx eax, word [esi]
cmp ax, dx
je 0x4028b2
push 0x2d
pop edx
cmp ax, dx
je 0x4028b2
push ecx
lea eax, [ebp - 0x60c]
push eax
push ecx
lea eax, [ebp - 0x20c]
push eax
push ecx
lea eax, [ebp - 0x40c]
push eax
push 3
lea eax, [ebp - 0xc]
push eax
push esi
call dword [sym.imp.ucrtbase_clr0400.dll__wsplitpath_s]
add esp, 0x24
cmp word [ebp - 0x60c], 0
jne 0x4029d1
push 0x401304
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x814]
push 0x104
push eax
call edi
add esp, 0x18
lea esi, [ebp - 0x814]
mov eax, dword [ebp - 0xc2c]
test eax, eax
jne 0x402a0f
push 0x401310
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xa1c]
push 0x104
push eax
call edi
lea eax, [ebp - 0xa1c]
add esp, 0x18
mov dword [ebp - 0xc2c], eax
cmp dword [0x4064d8], 0
jne 0x402a1f
mov ecx, eax
call fcn.00403aa8
push 0x104
lea eax, [ebp - 0xc24]
push esi
push eax
call dword [sym.imp.ucrtbase_clr0400.dll__wfullpath]
add esp, 0xc
test eax, eax
jne 0x402a3b
mov eax, esi
mov ecx, eax
call fcn.004042cb
inc ebx
mov ecx, 0x100
cmp ebx, dword [ebp + 8]
jl 0x40294d
call dword [sym.imp.ucrtbase_clr0400.dll__tzset]
cmp byte [ebp - 0xc25], 0
pop edi
je 0x402a66
or eax, 0xffffffff
jmp 0x402a6f
push 0
call dword [sym.imp.ucrtbase_clr0400.dll__time64]
pop ecx
mov ebx, dword [ebp - 0xc2c]
mov ecx, ebx
mov dl, byte [ebp - 0xc27]
push eax
call fcn.0040471a
cmp byte [ebp - 0xc25], 0
je 0x402a9d
lea edx, [ebp - 0xc30]
mov ecx, ebx
call fcn.00402302
test eax, eax
je 0x402ac4
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
xor ecx, ebp
pop ebx
call fcn.004050da
mov esp, ebp
pop ebp
ret
xor ecx, ecx
call fcn.00402487
xor ecx, ecx
inc ecx
push ecx
push 0x44e
call fcn.00402dae
push dword [ebp - 0xc30]
push ebx
push 0x457
call fcn.00402dae
int3