Function at 0x46e2a0
Capabilities:
Query environment variable

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov edx, dword [0x475914]
test edx, edx
setle al
or dword [0x4c03e8], eax
je 0x46e570
mov dword [0x475914], 1
xor edx, edx
mov dword [0x4c03e8], 0
mov dword [0x4c03fc], edx
mov ebx, edx
mov dword [0x4c0400], edx
mov dword [0x4c03f8], edx
mov dword [0x4c03f4], 0
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], edx
jl 0x46e5ed
mov esi, dword [ebp + 0xc]
add ebx, 1
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [0x4c0400], ebx
cmp esi, ebx
mov dword [0x4c03fc], ebx
jle 0x46e389
mov eax, dword [edi + ebx*4]
mov dword [0x4c03f8], ebx
cmp byte [eax], 0x2d
mov dword [0x4c03f4], eax
je 0x46e3d0
movsx eax, byte [ecx]
cmp al, 0x2d
je 0x46e7e3
mov edx, dword [0x4c03f0]
test edx, edx
jne 0x46e3a0
test ah, 0x10
jne 0x46e3c0
cmp eax, 0x2b
mov dword [ebp - 0x2c], ecx
mov dword [0x4c03f0], 0x1000
je 0x46e566
mov dword [esp], str.POSIXLY_CORRECT
call sub.msvcrt.dll_getenv
mov ecx, dword [ebp - 0x2c]
test eax, eax
je 0x46e7a0
mov eax, dword [0x4c03f0]
or eax, 0x10
mov dword [0x4c03f0], eax
mov eax, dword [0x4c0400]
mov dword [0x475914], eax
mov eax, 0xffffffff
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test ah, 0x10
jne 0x46e3c0
and edx, 0x10
test edx, edx
jne 0x46e389
mov eax, dword [0x4c03fc]
lea ebx, [eax + 1]
jmp 0x46e314
or eax, edx
mov dword [0x4c03f0], eax
and eax, 0x10
mov edx, eax
jmp 0x46e3a8
lea edx, [eax + 1]
mov dword [0x4c03f4], edx
movzx edx, byte [eax + 1]
test dl, dl
je 0x46e335
cmp dl, 0x2d
jne 0x46e6c0
cmp byte [eax + 2], 0
je 0x46ea73
mov ebx, dword [ebp + 8]
test ebx, ebx
jle 0x46e6d1
add eax, 2
mov dword [0x4c03f4], eax
mov dword [ebp + 8], 1
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
mov dword [0x4c03ec], 0
test edi, edi
mov dword [ebp - 0x3c], eax
je 0x46e8e5
mov eax, dword [edi]
test eax, eax
je 0x46e8e5
mov esi, dword [0x4c03f4]
lea ebx, [edi + 0x10]
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], esi
add esi, 1
mov dword [ebp - 0x34], esi
mov esi, edi
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
test dl, dl
je 0x46e507
mov ecx, dword [ebp - 0x34]
jmp 0x46e482
add ecx, 1
movzx edx, byte [ecx - 1]
add eax, 1
test dl, dl
je 0x46e507
cmp dl, byte [eax]
je 0x46e470
cmp dl, 0x3d
je 0x46e501
mov esi, ebx
add ebx, 0x10
mov eax, dword [ebx - 0x10]
add dword [ebp - 0x2c], 1
test eax, eax
jne 0x46e459
cmp dword [ebp - 0x38], 0xffffffff
je 0x46e8e5
mov eax, dword [ebp - 0x3c]
mov dword [0x4c03f4], 0
test eax, eax
je 0x46e4bb
mov esi, dword [ebp - 0x38]
mov dword [eax], esi
mov ecx, dword [0x4c03fc]
mov edx, dword [0x4c03ec]
lea eax, [ecx + 1]
test edx, edx
mov dword [0x475914], eax
je 0x46eda9
mov eax, dword [ebp - 0x38]
shl eax, 4
add edi, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x46ed38
mov eax, dword [edi + 8]
test eax, eax
je 0x46ed30
mov edx, dword [edi + 0xc]
mov dword [eax], edx
xor eax, eax
jmp 0x46e398
mov dword [0x4c03ec], ecx
cmp byte [eax], 0
jne 0x46e582
mov eax, dword [ebp - 0x3c]
mov dword [0x4c03f4], 0
test eax, eax
je 0x46e525
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x2c]
mov dword [eax], edi
mov edx, dword [0x4c03fc]
mov ecx, dword [0x4c03ec]
lea eax, [edx + 1]
test ecx, ecx
mov dword [0x475914], eax
je 0x46ea1c
mov edi, dword [esi + 4]
test edi, edi
je 0x46e81f
mov eax, dword [esi + 8]
test eax, eax
je 0x46e890
mov edx, dword [esi + 0xc]
mov dword [eax], edx
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x1010
jmp 0x46e384
mov ecx, dword [0x4c0400]
cmp edx, ecx
jge 0x46e5b0
sub edx, 1
jmp 0x46e2d8
cmp dword [ebp - 0x38], 0xffffffff
jne 0x46eab9
mov eax, dword [ebp - 0x2c]
mov esi, ebx
add ebx, 0x10
add dword [ebp - 0x2c], 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebx - 0x10]
test eax, eax
jne 0x46e459
jmp 0x46e49b
mov edi, dword [0x4c03fc]
lea eax, [edi + 1]
cmp edx, eax
mov dword [ebp - 0x30], eax
jg 0x46e700
mov esi, dword [0x4c03f4]
test esi, esi
je 0x46e5d9
movzx ebx, byte [esi]
test bl, bl
jne 0x46e721
mov edx, dword [0x4c03f8]
mov ebx, edi
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], edx
jge 0x46e302
sub ebx, edx
lea ecx, [ebx + 1]
lea eax, [ecx*4 + 0x12]
and eax, 0xfffffff0
mov dword [ebp - 0x34], esp
call fcn.0046d550
sub esp, eax
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x10]
lea edi, [eax + edx*4]
xor eax, eax
test ecx, ecx
jle 0x46e630
mov dword [ebp - 0x30], edx
lea esi, [esi]
mov edx, dword [edi + eax*4]
mov dword [esi + eax*4], edx
add eax, 1
cmp ecx, eax
jne 0x46e620
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp + 0x10]
lea eax, [edx - 1]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], eax
mov dword [0x4c03f8], eax
mov ecx, edi
lea eax, [edi + edx*4]
mov edi, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], edi
lea ecx, [ecx + edi*4]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x38]
jl 0x46e67d
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x38], edx
lea esi, [esi]
mov edx, dword [eax - 4]
mov dword [eax + ebx*4], edx
sub eax, 4
cmp eax, edi
jne 0x46e660
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
sub eax, edx
add eax, dword [ebp - 0x2c]
mov dword [0x4c03f8], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x2c]
lea edx, [eax + edi*4]
xor eax, eax
test ecx, ecx
jle 0x46e69d
lea esi, [esi]
mov ebx, dword [esi + eax*4]
mov dword [edx + eax*4], ebx
add eax, 1
cmp ecx, eax
jne 0x46e690
add ecx, dword [ebp - 0x2c]
mov dword [0x4c0400], ecx
mov ebx, dword [0x4c03fc]
mov esp, dword [ebp - 0x34]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
add ebx, 1
mov ecx, dword [ebp + 0x14]
jmp 0x46e314
cmp dword [ebp + 8], 1
jg 0x46e412
mov dword [ebp + 8], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046e2a0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebx, [edx - 1]
mov edx, dword [0x4c03f8]
mov dword [0x4c03fc], ebx
mov dword [0x4c03f4], 0
mov dword [ebp - 0x2c], ecx
jmp 0x46e2f9
movsx eax, bl
mov dword [0x47590c], eax
lea ecx, [esi + 1]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x14]
mov dword [0x4c03f4], ecx
movzx edx, byte [eax]
mov eax, dword [ebp + 0x14]
cmp dl, 0x2d
je 0x46e748
cmp dl, 0x2b
jne 0x46e752
mov edx, dword [ebp + 0x14]
add eax, 1
movzx edx, byte [edx + 1]
cmp dl, 0x3a
jne 0x46e76a
jmp 0x46e813
add eax, 1
movzx edx, byte [eax]
test dl, dl
je 0x46e7ae
cmp bl, dl
jne 0x46e760
cmp byte [eax + 1], 0x3a
je 0x46e898
test ecx, ecx
mov dword [0x4c03ec], 0
je 0x46e78c
cmp byte [esi + 1], 0
jne 0x46e78f
mov edi, dword [ebp - 0x30]
mov dword [0x475914], edi
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x4c03f0]
and edx, 0x10
jmp 0x46e3a8
cmp dword [ebp + 8], 2
je 0x46ea4d
mov esi, dword [0x475910]
test esi, esi
jne 0x46e99d
test ecx, ecx
je 0x46e7d1
cmp byte [ecx], 0
mov eax, edi
jne 0x46e7d4
lea eax, [edi + 1]
mov dword [0x475914], eax
mov eax, 0x3f
jmp 0x46e398
mov edi, dword [ebp + 0x10]
mov eax, dword [0x4c03fc]
mov dword [0x4c03f4], 0
lea edx, [eax + 1]
mov eax, dword [edi + eax*4]
mov dword [0x475914], edx
mov dword [0x4c03ec], eax
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
movzx edx, byte [eax + 1]
add eax, 1
jmp 0x46e76a
mov ebx, dword [0x475910]
mov eax, dword [ebp + 0x10]
test ebx, ebx
mov eax, dword [eax]
je 0x46e87e
cmp dword [ebp + 8], 1
mov ecx, 0x2d2d
mov word [ebp - 0x1b], cx
mov byte [ebp - 0x19], 0
je 0x46e845
mov byte [ebp - 0x1a], 0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._s:
lea ebx, [eax + 0x40]
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov eax, dword [esi]
mov dword [esp + 4], str.option___s_s_doesnt_accept_an_argument_n
mov dword [esp], ebx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1b]
mov dword [esp + 8], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [esi + 0xc]
mov dword [0x47590c], eax
mov eax, 0x3f
jmp 0x46e398
mov eax, dword [esi + 0xc]
jmp 0x46e398
mov dword [0x4c03ec], ecx
cmp byte [esi + 1], 0
jne 0x46e995
cmp byte [eax + 2], 0x3a
je 0x46eb23
mov eax, dword [ebp + 0xc]
sub eax, edi
cmp eax, 1
jle 0x46ebf9
mov eax, dword [ebp - 0x30]
add edi, 2
mov esi, dword [ebp + 0x10]
mov dword [0x4c03fc], eax
mov eax, dword [esi + eax*4]
mov dword [0x4c03ec], eax
mov dword [0x4c03f4], 0
jmp 0x46e78f
cmp dword [ebp + 8], 1
je 0x46e9d6
mov ebx, dword [0x4c03f4]
test ebx, ebx
je 0x46e9d6
movzx ecx, byte [ebx]
test cl, cl
je 0x46e9d6
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x46e9d6
mov eax, dword [ebp + 0x14]
movzx edi, byte [eax]
mov eax, edi
test al, al
je 0x46e9d6
mov eax, edi
cmp al, 0x2d
sete al
mov esi, eax
mov eax, edi
cmp al, 0x2b
mov eax, dword [ebp + 0x14]
sete dl
add eax, 1
mov dword [ebp - 0x30], eax
mov eax, esi
or al, dl
mov byte [ebp - 0x2c], al
mov eax, dword [ebp - 0x30]
cmove eax, dword [ebp + 0x14]
mov esi, eax
lea eax, [eax + 1]
mov dword [ebp - 0x30], eax
add ebx, 1
mov edx, edi
cmp byte [ebp - 0x2c], 0
je 0x46e964
mov eax, dword [ebp + 0x14]
movzx edx, byte [eax + 1]
cmp dl, 0x3a
mov eax, esi
jne 0x46e97a
jmp 0x46ea10
add eax, 1
movzx edx, byte [eax]
test dl, dl
je 0x46e9d6
cmp dl, cl
jne 0x46e970
cmp byte [eax + 1], 0x3a
je 0x46e6d1
movzx ecx, byte [ebx]
test cl, cl
jne 0x46e952
nop
jmp 0x46e6d1
mov edi, dword [ebp - 0x30]
jmp 0x46e8d6
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str._s:_invalid_option_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ecx, dword [0x4c03f4]
mov edi, dword [0x4c03fc]
jmp 0x46e7c6
mov eax, dword [0x4c03fc]
mov dword [0x47590c], 0
mov dword [0x4c03f4], 0
lea edx, [eax + 1]
mov dword [0x475914], edx
mov edx, dword [0x475910]
test edx, edx
jne 0x46ed10
mov eax, 0x3f
jmp 0x46e398
movzx edx, byte [esi + 1]
mov eax, dword [ebp - 0x30]
jmp 0x46e97a
cmp dword [esi + 4], 1
jne 0x46e54c
cmp dword [ebp + 0xc], eax
jle 0x46eb35
mov edi, dword [ebp + 0x10]
add edx, 2
mov dword [0x4c03fc], eax
mov dword [0x475914], edx
mov eax, dword [edi + eax*4]
mov dword [0x4c03ec], eax
jmp 0x46e54c
mov eax, dword [0x475910]
test eax, eax
jne 0x46ebc3
mov dword [0x4c03f4], 0
mov dword [0x47590c], 0
jmp 0x46e7d1
mov ecx, dword [0x4c0400]
cmp ecx, ebx
jge 0x46eaa0
mov edx, ebx
mov esi, dword [ebp + 0x10]
jmp 0x46ea86
mov ebx, edx
mov edi, dword [esi + edx*4 - 4]
cmp ecx, ebx
mov dword [esi + edx*4], edi
lea edx, [ebx - 1]
jl 0x46ea84
mov edi, dword [ebp + 0x10]
mov dword [0x4c03f8], edx
mov dword [edi + ecx*4], eax
add ecx, 1
mov eax, 0xffffffff
mov dword [0x4c0400], ecx
mov dword [0x475914], ecx
jmp 0x46e398
cmp dword [ebp + 8], 2
je 0x46ec52
mov eax, dword [0x4c03fc]
mov ecx, dword [0x475910]
mov dword [0x47590c], 0
mov dword [0x4c03f4], 0
lea edx, [eax + 1]
test ecx, ecx
mov dword [0x475914], edx
je 0x46ea06
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str._s:_option___s_is_ambiguous_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x46ea06
mov dword [0x4c03ec], 0
mov edi, dword [ebp - 0x30]
jmp 0x46e8d6
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax]
cmp al, 0x2d
je 0x46eb43
cmp al, 0x2b
jne 0x46eb4a
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 1]
mov edx, dword [0x475910]
xor ebx, ebx
cmp al, 0x3a
mov eax, dword [ebp + 0x10]
setne bl
lea ebx, [ebx + ebx*4 + 0x3a]
test edx, edx
mov eax, dword [eax]
je 0x46ebb4
cmp dword [ebp + 8], 1
mov edi, 0x2d2d
mov word [ebp - 0x1b], di
mov byte [ebp - 0x19], 0
je 0x46eb7b
mov byte [ebp - 0x1a], 0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._s:
lea edi, [eax + 0x40]
mov dword [esp], edi
call sub.msvcrt.dll_fprintf
mov eax, dword [esi]
mov dword [esp + 4], str.option___s_s_requires_an_argument_n
mov dword [esp], edi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1b]
mov dword [esp + 8], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [esi + 0xc]
mov dword [0x47590c], eax
mov eax, ebx
jmp 0x46e398
mov dword [0x4c03f4], esi
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str._s:_unrecognised_option____s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edi, dword [0x4c03fc]
jmp 0x46ea5a
mov eax, dword [0x475910]
test eax, eax
jne 0x46ec28
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax]
cmp al, 0x2d
je 0x46ec10
cmp al, 0x2b
jne 0x46ec17
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 1]
cmp al, 0x3a
setne al
movzx eax, al
lea eax, [eax + eax*4 + 0x3a]
jmp 0x46e398
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str._s:_option_requires_an_argument_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x46ec02
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
test al, al
je 0x46eac3
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x46eac3
mov edi, dword [ebp + 0x14]
movzx esi, byte [edi]
mov ecx, esi
test cl, cl
je 0x46eac3
mov edi, dword [ebp + 0x14]
mov ecx, esi
mov ebx, esi
cmp cl, 0x2d
sete cl
cmp bl, 0x2b
sete bl
lea edx, [edi + 1]
or cl, bl
mov ebx, edx
cmove ebx, edi
mov byte [ebp - 0x2c], cl
lea edi, [ebx + 1]
mov ecx, eax
cmp byte [ebp - 0x2c], 0
mov edx, esi
je 0x46ecaf
mov eax, dword [ebp + 0x14]
movzx edx, byte [eax + 1]
cmp dl, 0x3a
mov eax, ebx
jne 0x46ecce
movzx edx, byte [ebx + 1]
mov eax, edi
jmp 0x46ecce
add eax, 1
movzx edx, byte [eax]
test dl, dl
je 0x46eac3
cmp cl, dl
jne 0x46ecc0
cmp byte [eax + 1], 0x3a
je 0x46ece6
add dword [ebp - 0x30], 1
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
test cl, cl
jne 0x46eca0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.0046e2a0
jmp 0x46e398
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str._s:_unrecognised_option___s_n
mov dword [esp + 8], eax
jmp 0x46eb0e
mov eax, dword [edi + 0xc]
jmp 0x46e398
mov esi, dword [0x475910]
mov eax, dword [ebp + 0x10]
test esi, esi
mov eax, dword [eax]
je 0x46ed97
cmp dword [ebp + 8], 1
mov ebx, 0x2d2d
mov word [ebp - 0x1b], bx
mov byte [ebp - 0x19], 0
je 0x46ed5e
mov byte [ebp - 0x1a], 0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._s:
lea ebx, [eax + 0x40]
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov eax, dword [edi]
mov dword [esp + 4], str.option___s_s_doesnt_accept_an_argument_n
mov dword [esp], ebx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1b]
mov dword [esp + 8], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [edi + 0xc]
mov dword [0x47590c], eax
mov eax, 0x3f
jmp 0x46e398
mov edx, dword [ebp - 0x38]
shl edx, 4
add edi, edx
cmp dword [edi + 4], 1
jne 0x46e4ea
cmp dword [ebp + 0xc], eax
jle 0x46edde
mov esi, dword [ebp + 0x10]
add ecx, 2
mov dword [0x4c03fc], eax
mov dword [0x475914], ecx
mov eax, dword [esi + eax*4]
mov dword [0x4c03ec], eax
jmp 0x46e4ea
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax]
cmp al, 0x2d
je 0x46edec
cmp al, 0x2b
jne 0x46edf3
mov eax, dword [ebp + 0x14]
movzx eax, byte [eax + 1]
mov ecx, dword [0x475910]
xor ebx, ebx
cmp al, 0x3a
mov eax, dword [ebp + 0x10]
setne bl
lea ebx, [ebx + ebx*4 + 0x3a]
test ecx, ecx
mov eax, dword [eax]
je 0x46ee5d
cmp dword [ebp + 8], 1
mov edx, 0x2d2d
mov word [ebp - 0x1b], dx
mov byte [ebp - 0x19], 0
je 0x46ee24
mov byte [ebp - 0x1a], 0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._s:
lea esi, [eax + 0x40]
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [edi]
mov dword [esp + 4], str.option___s_s_requires_an_argument_n
mov dword [esp], esi
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1b]
mov dword [esp + 8], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [edi + 0xc]
mov dword [0x47590c], eax
mov eax, ebx
jmp 0x46e398