Function at 0x41a501
Capabilities:
Query environment variable
Terminate process

Disassembly:
sub esp, 0x800
cmp dword [0x45b5bc], 0
push ebx
push esi
push edi
mov esi, edx
push ebp
mov edi, ecx
jne 0x41a51d
call fcn.00417b08
call fcn.00417713
push 0x4521f4
push 2
call dword [sym.imp.MSVCRT40.dll_setlocale]
add esp, 8
call fcn.004182ad
call fcn.0041a365
cmp edi, 1
jg 0x434804
push str.MSC_CMD_FLAGS
call dword [sym.imp.MSVCRT40.dll_getenv]
add esp, 4
mov ecx, eax
call fcn.00417fb9
cmp dword [0x455230], 0
je 0x41a587
mov edx, 0x455230
mov esi, dword [edx]
mov al, byte [edx + 4]
cmp esi, 0x2bc
mov byte [esi + 0x45bba0], al
jae 0x4348d5
add edx, 8
cmp dword [edx], 0
jne 0x41a568
mov edx, 1
mov ecx, 0x28
call fcn.0040f330
mov edx, 1
mov ecx, 0x28
mov dword [0x466150], eax
call fcn.0040f330
mov edx, 1
mov ecx, 0x28
mov dword [0x460a84], eax
call fcn.0040f330
cmp dword [0x45c494], 0
mov dword [0x466118], eax
jne 0x41a5e7
mov eax, dword [0x4662d0]
push eax
push 1
push 0x455210
call dword [sym.imp.mspdb41.dll_SigForPbCb]
add esp, 0xc
mov dword [0x4662d0], eax
push 0
push fcn.0041a0d0
call fcn.0041a0d0
mov ecx, 0x454dd8
mov edx, eax
call fcn.00417938
test eax, eax
jne 0x41a5e7
lea ecx, [esp + 0x10]
push 0x208
mov edx, dword [str.vc40.pdb]
call fcn.0041a180
test eax, eax
je 0x43490a
lea edi, [esp + 0x10]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x100
jae 0x43492f
lea edi, [esp + 0x10]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, 0x45c17c
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [0x45c58c], 0
jne 0x43493e
cmp dword [0x45c498], 1
sbb eax, eax
mov ecx, dword [0x45c498]
neg eax
or dword [0x45c494], eax
and dword [0x45c4a4], ecx
cmp dword [0x45c4a8], 0
mov eax, 0x4664b0
je 0x434957
mov dword [0x466458], eax
mov eax, dword [0x45c0ec]
and dword [0x45c178], eax
cmp dword [0x45c0c0], 0
jne 0x434961
cmp dword [0x45b5b8], 0
jne 0x41a6c8
call fcn.0040ef24
cmp dword [0x45c4cc], 0
jne 0x43496b
cmp dword [0x45c588], 0
jne 0x4349bc
cmp dword [0x463a98], 0
je 0x4349d6
xor esi, esi
cmp dword [0x45c4c0], esi
jne 0x41a76c
cmp dword [0x45c4bc], 0
jne 0x41a70c
mov dword [0x45c4e8], 0
cmp dword [0x45c4b8], 0
jne 0x434a0f
cmp dword [0x45c4c8], 0
jne 0x434a1e
mov eax, dword [0x45c4c4]
or dword [0x45c0f0], eax
cmp dword [0x466314], 0
jne 0x41a787
cmp dword [0x466164], 0
jne 0x41a787
cmp dword [0x45b530], 0
je 0x41a761
mov ecx, dword [0x45b530]
call fcn.0040f3c8
mov dword [0x45b530], 0
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x800
ret
mov dword [0x45c4bc], 1
cmp dword [0x45c4b8], esi
je 0x41a6f9
jmp 0x4349e5
xor eax, eax
mov dword [0x45c4c4], eax
mov dword [0x45c4c8], eax
mov dword [0x45c4bc], eax
mov dword [0x45c4c0], eax
mov dword [0x45c4b4], eax
mov dword [0x45c4b8], eax
mov dword [0x45c0f0], eax
mov dword [0x45c4e8], eax
jmp 0x41a743
mov eax, dword [esi + 4]
add esi, 4
cmp byte [eax], 0x40
jne 0x41a545
push 0x455224
inc eax
push eax
call dword [sym.imp.MSVCRT40.dll_fopen]
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x434849
mov eax, dword [esi]
mov edx, 0x151
inc eax
mov ecx, 0x54
push eax
call fcn.004472b0
push 1
mov ebp, dword [sym.imp.MSVCRT40.dll_exit]
call ebp
add esp, 4
lea esi, [esp + 0x10]
push ebx
lea eax, [esp + 0x14]
push 0x800
push eax
mov ebp, dword [sym.imp.MSVCRT40.dll_fgets]
call ebp
add esp, 0xc
test eax, eax
je 0x4348c6
cmp byte [esp + 0x10], 0x3b
je 0x4348ae
mov edi, esi
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
lea eax, [esp + ecx + 0xe]
cmp byte [eax], 0xa
jne 0x434887
mov byte [eax], 0
cmp byte [esi], 0x50
jne 0x43489b
cmp byte [esi + 1], 0x31
jne 0x43489b
cmp byte [esi + 2], 0x3a
jne 0x43489b
add esi, 3
mov edx, 1
mov ecx, esi
call fcn.0042310b
mov ecx, eax
call fcn.00417fb9
lea esi, [esp + 0x10]
push ebx
lea eax, [esp + 0x14]
push 0x800
push eax
call ebp
add esp, 0xc
test eax, eax
jne 0x434867
push ebx
call dword [sym.imp.MSVCRT40.dll_fclose]
add esp, 4
jmp 0x41a545
cmp esi, 0x3e8
jae 0x41a57f
mov eax, esi
mov ecx, dword [0x45bf88]
cmp eax, ecx
jb 0x4348ef
mov eax, ecx
mov dword [0x45bf88], eax
mov eax, dword [0x45bf8c]
cmp esi, eax
ja 0x4348ff
mov esi, eax
mov dword [0x45bf8c], esi
jmp 0x41a57f
mov ecx, 0x163
call fcn.00423321
push eax
mov eax, dword [str.vc40.pdb]
push eax
push 0x162
push 0x53
call fcn.004473a7
add esp, 0x10
jmp 0x41a61f
mov ecx, 5
call fcn.0043d915
jmp 0x41a63b
mov dword [0x45c0ec], 1
mov dword [0x45c178], 0
jmp 0x41a66e
mov eax, 0x4662a8
jmp 0x41a69d
call fcn.0043d2a5
jmp 0x41a6ba
mov edi, dword [0x45c4cc]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x100
jb 0x43498f
mov ecx, 5
call fcn.0043d915
mov edi, dword [0x45c4cc]
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
shr ecx, 2
mov esi, edi
mov edi, 0x45c27c
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x41a6d5
push 0x454a38
mov eax, dword [0x45c588]
push eax
push 7
call fcn.004473a7
add esp, 0xc
jmp 0x41a6e2
mov ecx, 8
call fcn.0043d915
jmp 0x41a6ef
mov edx, dword [0x45c4b8]
mov ecx, dword [0x45c4c0]
call fcn.00423084
test eax, eax
je 0x41a6f9
mov dword [0x45c4b4], esi
mov dword [0x45c4b8], esi
jmp 0x41a6f9
mov dword [0x45c4b4], 1
jmp 0x41a719
mov dword [0x45c4c4], 1
jmp 0x41a726