Function at 0x42aec6
Capabilities:
Query environment variable

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x28]
test esi, esi
je 0x42aefa
mov ebx, edx
cmp dword [0x43c488], 0
je 0x42af02
mov ecx, dword [0x43c490]
cmp ecx, 0xffffffff
je 0x42af0f
cmp dword [0x43c5c0], 0
je 0x42af2b
jmp 0x42af0f
xor edx, edx
dec edx
jmp 0x42b34b
xor eax, eax
inc eax
mov dword [0x43c5c0], eax
mov dword [0x43c488], eax
xor eax, eax
push eax
push eax
push 0x439c40
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor ecx, ecx
test eax, eax
setne cl
mov dword [0x43c490], ecx
mov eax, dword [esp + 0x34]
mov dl, byte [esi]
cmp dl, 0x2d
jne 0x42af3b
or eax, 2
jmp 0x42af4d
mov edi, eax
and eax, 0xfffffffe
test ecx, ecx
cmovne edi, eax
cmp dl, 0x2b
cmove edi, eax
jne 0x42af50
inc esi
jmp 0x42af52
mov eax, edi
mov dword [esp + 0x10], eax
mov dword [esp + 8], esi
mov dword [0x43c5c4], 0
mov ecx, dword [0x43c5c0]
test ecx, ecx
je 0x42af82
xor edi, edi
dec edi
mov dword [0x43c494], edi
mov dword [0x43c498], edi
mov dword [esp], edi
jmp 0x42af90
mov edi, dword [0x43c498]
mov eax, dword [0x43c494]
mov dword [esp], eax
mov eax, dword [0x43c49c]
xor edx, edx
dec edx
mov dword [esp + 4], ebx
test ecx, ecx
jne 0x42afa9
cmp byte [eax], 0
jne 0x42b14b
mov dword [0x43c5c0], 0
mov esi, dword [0x43c488]
cmp esi, dword [esp + 0xc]
jge 0x42b084
mov ebp, edi
mov edi, dword [ebx + esi*4]
mov dword [0x43c49c], edi
cmp byte [edi], 0x2d
jne 0x42aff7
mov bl, byte [edi + 1]
test bl, bl
jne 0x42b0ae
push 0x2d
push dword [esp + 0xc]
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
xor edx, edx
dec edx
add esp, 8
test eax, eax
jne 0x42b0ae
mov eax, dword [esp + 0x10]
test al, 2
mov dword [0x43c49c], 0x439c60
jne 0x42b0c5
test al, 1
je 0x42b34b
cmp ebp, 0xffffffff
mov ebx, dword [esp + 4]
je 0x42b033
mov edi, ebp
mov eax, edx
xor ecx, ecx
mov edx, dword [esp]
cmp edx, 0xffffffff
jne 0x42b03f
mov edx, eax
mov dword [esp], eax
jmp 0x42b073
mov dword [0x43c498], esi
xor ecx, ecx
mov edi, esi
jmp 0x42b073
mov ecx, edi
push ebx
push esi
mov ebp, edx
call fcn.0042b400
xor edx, edx
dec edx
add esp, 8
mov esi, dword [0x43c488]
sub edi, ebp
add edi, esi
mov dword [0x43c498], edi
mov dword [0x43c494], 0xffffffff
mov ecx, dword [0x43c5c0]
mov dword [esp], edx
inc esi
mov dword [0x43c488], esi
mov eax, 0x439c60
jmp 0x42af9c
mov dword [0x43c49c], 0x439c60
mov edx, dword [esp]
cmp edx, 0xffffffff
je 0x42b0da
mov ecx, edi
push ebx
push esi
mov esi, edx
call fcn.0042b400
add esp, 8
sub edi, esi
add edi, dword [0x43c488]
jmp 0x42b0df
cmp ebp, 0xffffffff
je 0x42b0f9
mov edx, dword [esp]
cmp edx, 0xffffffff
jne 0x42b0fc
mov dword [0x43c494], esi
mov edx, esi
jmp 0x42b0fc
inc esi
mov dword [0x43c488], esi
mov dword [0x43c5c4], edi
xor edx, edx
inc edx
jmp 0x42b34b
cmp edi, 0xffffffff
je 0x42b0e5
mov dword [0x43c488], edi
xor edx, edx
dec edx
mov dword [0x43c494], edx
mov dword [0x43c498], edx
jmp 0x42b34b
mov edx, dword [esp]
test bl, bl
je 0x42b145
lea eax, [edi + 1]
mov dword [0x43c49c], eax
cmp bl, 0x2d
jne 0x42b147
cmp byte [edi + 2], 0
mov ebx, dword [esp + 4]
jne 0x42b14b
inc esi
mov dword [0x43c488], esi
mov dword [0x43c49c], 0x439c60
cmp edx, 0xffffffff
je 0x42b0e5
mov ecx, ebp
push ebx
push esi
mov esi, edx
call fcn.0042b400
add esp, 8
sub ebp, esi
add dword [0x43c488], ebp
jmp 0x42b0e5
mov eax, edi
mov ebx, dword [esp + 4]
cmp dword [esp + 0x2c], 0
je 0x42b19a
mov ecx, dword [0x43c488]
cmp eax, dword [ebx + ecx*4]
mov edi, dword [esp + 8]
mov ebp, ebx
je 0x42b1a0
mov cl, byte [eax]
test byte [esp + 0x10], 4
jne 0x42b171
cmp cl, 0x2d
jne 0x42b1a0
movsx ecx, cl
xor ebx, ebx
cmp cl, 0x3a
mov esi, dword [esp + 0x30]
je 0x42b2e2
movzx edx, cl
cmp edx, 0x2d
jne 0x42b2d1
inc eax
mov dword [0x43c49c], eax
jmp 0x42b2e2
mov ebp, ebx
mov edi, dword [esp + 8]
lea esi, [eax + 1]
mov dword [0x43c49c], esi
movzx eax, byte [eax]
cmp eax, 0x3a
movsx ebx, al
je 0x42b289
cmp eax, 0x2d
jne 0x42b1dc
cmp byte [esi], 0
jne 0x42b294
push ebx
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
xor edx, edx
dec edx
add esp, 8
test eax, eax
jne 0x42b24c
jmp 0x42b34b
push ebx
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x42b275
cmp dword [esp + 0x2c], 0
je 0x42b24c
cmp bl, 0x57
jne 0x42b24c
cmp byte [eax + 1], 0x3b
jne 0x42b24c
cmp byte [esi], 0
mov ecx, ebp
mov esi, dword [esp + 0x30]
jne 0x42b22c
mov eax, dword [0x43c488]
lea edx, [eax + 1]
mov dword [0x43c488], edx
cmp edx, dword [esp + 0xc]
jge 0x42b383
mov eax, dword [ecx + eax*4 + 4]
mov dword [0x43c49c], eax
mov edx, edi
push 0
push esi
push dword [esp + 0x34]
call fcn.0042b4a4
add esp, 0xc
mov dword [0x43c49c], 0x439c60
jmp 0x42b34d
cmp byte [eax + 1], 0x3a
jne 0x42b2c0
mov dword [0x43c5c4], 0
cmp byte [esi], 0
je 0x42b311
mov dword [0x43c5c4], esi
mov eax, dword [0x43c488]
jmp 0x42b339
cmp bl, 0x2d
mov edx, 0xffffffff
jne 0x42b289
cmp byte [esi], 0
jne 0x42b294
jmp 0x42b34b
cmp byte [esi], 0
jne 0x42b294
inc dword [0x43c488]
cmp dword [0x43c484], 0
je 0x42b2b0
cmp byte [edi], 0x3a
je 0x42b2b0
push ebx
push str.unknown_option_____c
call fcn.0042b778
add esp, 8
mov dword [0x43c48c], ebx
mov edx, 0x3f
jmp 0x42b34b
cmp byte [esi], 0
jne 0x42b349
inc dword [0x43c488]
jmp 0x42b349
push ecx
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
xor ebx, ebx
test eax, eax
setne bl
mov ecx, ebp
mov edx, edi
push ebx
push esi
push dword [esp + 0x34]
call fcn.0042b4a4
add esp, 0xc
cmp eax, 0xffffffff
je 0x42b307
mov dword [0x43c49c], 0x439c60
mov edx, eax
jmp 0x42b34b
mov eax, dword [0x43c49c]
jmp 0x42b1a0
cmp byte [eax + 2], 0x3a
mov ecx, dword [0x43c488]
jne 0x42b321
mov eax, ecx
jmp 0x42b339
lea eax, [ecx + 1]
mov dword [0x43c488], eax
cmp eax, dword [esp + 0xc]
jge 0x42b355
mov ecx, dword [ebp + ecx*4 + 4]
mov dword [0x43c5c4], ecx
mov dword [0x43c49c], 0x439c60
inc eax
mov dword [0x43c488], eax
mov edx, ebx
mov eax, edx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [0x43c49c], 0x439c60
cmp dword [0x43c484], 0
je 0x42b37b
cmp byte [edi], 0x3a
je 0x42b37b
push ebx
push str.option_requires_an_argument_____c
call fcn.0042b778
add esp, 8
mov dword [0x43c48c], ebx
jmp 0x42b3b4
mov dword [0x43c49c], 0x439c60
cmp dword [0x43c484], 0
je 0x42b3aa
cmp byte [edi], 0x3a
je 0x42b3aa
push 0x57
push str.option_requires_an_argument_____c
call fcn.0042b778
add esp, 8
mov dword [0x43c48c], 0x57
xor eax, eax
cmp byte [edi], 0x3a
setne al
lea edx, [eax + eax*4 + 0x3a]
jmp 0x42b34b