Function at 0x488410
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [0x503160], 0
mov eax, dword [0x49f404]
test eax, eax
jne 0x48857c
mov dword [0x49f404], 1
mov eax, 1
mov dword [0x50316c], eax
mov dword [0x503170], eax
mov dword [0x503168], 0
mov dword [esp], str.POSIXLY_CORRECT
call sub.msvcrt.dll_getenv
mov dword [0x503178], eax
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
cmp dl, 0x2d
je 0x48883c
cmp dl, 0x2b
je 0x488924
test eax, eax
sete al
movzx eax, al
mov dword [0x503174], eax
mov dword [0x503164], 1
mov esi, dword [0x503168]
test esi, esi
je 0x488590
mov al, byte [esi]
mov byte [ebp - 0x28], al
test al, al
je 0x488590
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x4884e0
mov ecx, dword [0x49f404]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x34], eax
mov dl, byte [eax + 1]
mov byte [ebp - 0x39], dl
cmp dl, 0x2d
je 0x48862d
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x488620
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
inc esi
mov dword [0x503168], esi
movsx ebx, byte [ebp - 0x28]
mov eax, ebx
test dl, dl
je 0x488516
movsx edi, dl
cmp ebx, edi
je 0x488c6c
mov edx, dword [ebp + 0x10]
jmp 0x48850f
movsx ecx, cl
cmp ebx, ecx
je 0x488518
inc edx
mov cl, byte [edx]
test cl, cl
jne 0x488508
xor edx, edx
cmp byte [esi], 0
jne 0x488523
inc dword [0x49f404]
test edx, edx
je 0x488774
cmp byte [ebp - 0x28], 0x3a
je 0x488774
cmp byte [edx], 0x57
je 0x4889a8
mov cl, byte [edx + 1]
cmp cl, 0x3a
jne 0x4887bc
cmp byte [edx + 2], 0x3a
je 0x488b88
cmp byte [esi], 0
je 0x488c74
mov dword [0x503160], esi
inc dword [0x49f404]
mov dword [0x503168], 0
mov eax, ebx
jmp 0x4887bc
mov edi, dword [0x503164]
test edi, edi
je 0x48843f
jmp 0x488492
mov eax, dword [0x49f404]
mov edx, eax
cmp dword [0x50316c], eax
jle 0x4885a4
mov dword [0x50316c], eax
cmp eax, dword [0x503170]
jge 0x4885b1
mov dword [0x503170], eax
cmp dword [0x503174], 1
je 0x4888b8
cmp dword [ebp + 8], eax
je 0x488890
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
mov edi, 0x4f0b80
mov ecx, 3
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x488850
inc eax
mov dword [0x49f404], eax
mov edx, dword [0x503170]
mov ecx, dword [0x50316c]
cmp edx, ecx
je 0x488b7c
cmp eax, ecx
je 0x48860d
mov eax, dword [ebp + 0xc]
call fcn.00488330
mov edx, dword [0x503170]
mov eax, dword [ebp + 8]
mov dword [0x50316c], eax
mov dword [0x49f404], eax
jmp 0x48889f
mov eax, dword [ebp - 0x34]
cmp byte [eax + 2], 0
je 0x488938
cmp byte [ebp - 0x28], 0
je 0x488c2f
cmp byte [ebp - 0x28], 0x3d
je 0x488c2f
mov dword [ebp - 0x40], esi
mov eax, esi
jmp 0x48864d
cmp dl, 0x3d
je 0x488654
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x488648
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
test edi, edi
je 0x488bbe
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x40]
sub edx, esi
mov dword [ebp - 0x20], edx
jmp 0x4886a3
mov dword [ebp - 0x30], 1
add ebx, 0x10
mov edi, dword [ebx]
test edi, edi
je 0x4886e8
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x488697
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp dword [ebp - 0x20], ecx
je 0x488aac
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x488690
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], ebx
add ebx, 0x10
mov edi, dword [ebx]
test edi, edi
jne 0x4886a0
nop
xor eax, eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x4887c4
test eax, eax
jne 0x4887c4
mov ecx, dword [0x49f408]
test ecx, ecx
je 0x48873e
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0xc], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___s_is_ambiguous_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov esi, dword [0x503168]
mov ecx, dword [0x49f404]
mov dword [ebp - 0x38], ecx
xor eax, eax
mov ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea eax, [esi + ecx - 1]
mov dword [0x503168], eax
mov eax, dword [ebp - 0x38]
inc eax
mov dword [0x49f404], eax
mov dword [0x49f40c], 0
mov eax, 0x3f
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret
mov edi, dword [0x49f408]
test edi, edi
je 0x4887b1
mov esi, dword [0x503178]
test esi, esi
je 0x488c37
mov dword [esp + 0xc], ebx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_illegal_option_____c_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x49f40c], ebx
mov eax, 0x3f
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x488bbe
mov eax, dword [ebp - 0x38]
inc eax
mov dword [0x49f404], eax
mov edx, dword [ebp - 0x40]
cmp byte [edx], 0
je 0x488974
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x488afa
mov eax, edx
inc eax
mov dword [0x503160], eax
xor eax, eax
mov ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea eax, [esi + ecx - 1]
mov dword [0x503168], eax
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x48881f
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp + 0x18]
mov dword [edx], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 8]
test eax, eax
je 0x488c61
mov edx, dword [edx + 0xc]
mov dword [eax], edx
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret
mov dword [0x503174], 2
inc ecx
mov dword [ebp + 0x10], ecx
jmp 0x488488
cmp byte [edx], 0x2d
jne 0x488a87
mov cl, byte [edx + 1]
test cl, cl
je 0x488a87
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x488ad0
xor eax, eax
cmp cl, 0x2d
sete al
lea esi, [eax + 1]
lea esi, [edx + esi]
mov dword [0x503168], esi
mov dl, byte [esi]
mov byte [ebp - 0x28], dl
jmp 0x4884ad
mov edx, dword [0x50316c]
mov dword [ebp + 8], edx
mov edx, dword [0x503170]
cmp dword [ebp + 8], edx
jne 0x489018
mov eax, 0xffffffff
add esp, 0x5c
pop ebx
pop esi
pop edi
leave
ret
mov ebx, dword [0x503170]
mov ecx, dword [0x50316c]
cmp ebx, ecx
je 0x488bac
cmp eax, ecx
je 0x4888df
mov eax, dword [ebp + 0xc]
call fcn.00488330
mov eax, dword [0x49f404]
mov edx, eax
cmp dword [ebp + 8], eax
jle 0x48890e
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
jmp 0x4888fb
inc edx
mov dword [0x49f404], edx
cmp ebx, edx
jle 0x488ac0
mov eax, dword [ecx + edx*4]
cmp byte [eax], 0x2d
jne 0x4888ec
cmp byte [eax + 1], 0
je 0x4888ec
mov eax, dword [0x49f404]
mov dword [0x50316c], edx
cmp dword [ebp + 8], eax
jne 0x4885c7
jmp 0x488890
mov dword [0x503174], 0
inc dword [ebp + 0x10]
jmp 0x488488
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
test dl, dl
je 0x48862d
movsx ecx, byte [ebp - 0x39]
movsx edi, dl
cmp ecx, edi
je 0x488ada
mov eax, dword [ebp + 0x10]
jmp 0x488967
movsx edx, dl
cmp ecx, edx
je 0x488ae0
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x48895c
jmp 0x48862d
mov edx, dword [ebp - 0x24]
cmp dword [edx + 4], 1
jne 0x4887fa
cmp dword [ebp + 8], eax
jle 0x488c99
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [0x503160], eax
mov eax, dword [ebp - 0x38]
add eax, 2
mov dword [0x49f404], eax
jmp 0x4887fa
mov cl, byte [edx + 1]
cmp cl, 0x3b
jne 0x488541
cmp byte [esi], 0
je 0x488e3d
mov dword [0x503160], esi
inc dword [0x49f404]
mov dword [0x503168], esi
mov cl, byte [esi]
mov byte [ebp - 0x34], cl
test cl, cl
je 0x488fd9
cmp cl, 0x3d
je 0x488fd9
mov dword [ebp - 0x30], esi
mov eax, esi
jmp 0x4889f1
cmp dl, 0x3d
je 0x4889f8
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x4889ec
mov byte [ebp - 0x34], dl
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
mov edi, dword [eax]
test edi, edi
je 0x488f6e
mov edx, dword [ebp - 0x30]
sub edx, esi
mov dword [ebp - 0x20], edx
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
jmp 0x488a4b
mov dword [ebp - 0x28], 1
add ebx, 0x10
mov edi, dword [ebx]
test edi, edi
je 0x488d57
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x488a3b
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp dword [ebp - 0x20], ecx
je 0x488ee3
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x488a34
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], ebx
jmp 0x488a3b
mov esi, dword [0x503174]
test esi, esi
je 0x4888a8
mov dword [0x503160], edx
inc eax
mov dword [0x49f404], eax
mov eax, 1
jmp 0x4887bc
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x24], ebx
mov eax, 1
jmp 0x4886ea
mov eax, edx
mov dword [0x50316c], edx
jmp 0x488914
mov esi, 1
jmp 0x48887a
mov eax, dword [ebp + 0x10]
lea esi, [esi]
test eax, eax
je 0x48862d
movsx ebx, byte [ebp - 0x28]
inc esi
mov dword [0x503168], esi
mov eax, ebx
jmp 0x4884f9
mov edi, dword [0x49f408]
test edi, edi
je 0x4887fa
mov eax, dword [ebp - 0x34]
cmp byte [eax + 1], 0x2d
je 0x488d28
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp - 0x34]
movsx eax, byte [ecx]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___c_s_doesnt_allow_an_argument_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x503168]
xor eax, eax
mov ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x503168], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xc]
mov dword [0x49f40c], eax
mov eax, 0x3f
jmp 0x4887bc
mov dword [0x503170], eax
mov edx, eax
jmp 0x48860d
cmp byte [esi], 0
je 0x488e62
mov dword [0x503160], esi
inc dword [0x49f404]
mov dword [0x503168], 0
jmp 0x4887bc
cmp eax, ebx
je 0x4888df
mov dword [0x503170], eax
jmp 0x4888df
mov edx, dword [ebp + 0x1c]
test edx, edx
jne 0x488cdd
mov eax, dword [0x49f408]
test eax, eax
je 0x488c0b
cmp byte [ebp - 0x39], 0x2d
je 0x488eb9
mov dword [esp + 0x10], esi
mov ecx, dword [ebp - 0x34]
movsx eax, byte [ecx]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_unrecognized_option___c_s_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x503168], 0x4f0c6c
inc dword [0x49f404]
mov dword [0x49f40c], 0
mov eax, 0x3f
jmp 0x4887bc
mov dword [ebp - 0x40], esi
jmp 0x488657
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_invalid_option_____c_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x4887b1
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0xc]
jmp 0x4887bc
mov edx, dword [ebp + 0x10]
jmp 0x488518
mov eax, dword [0x49f404]
cmp eax, dword [ebp + 8]
je 0x488e71
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [0x503160], edx
inc eax
mov dword [0x49f404], eax
jmp 0x488569
mov ebx, dword [0x49f408]
test ebx, ebx
jne 0x488ef6
xor eax, eax
mov ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea eax, [esi + ecx - 1]
mov dword [0x503168], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xc]
mov dword [0x49f40c], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x3a
setne al
movzx eax, al
lea eax, [eax + eax*4 + 0x3a]
jmp 0x4887bc
cmp byte [ebp - 0x39], 0x2d
je 0x488bc9
mov ecx, dword [ebp + 0x10]
mov dl, byte [ecx]
test dl, dl
je 0x488bc9
movsx ebx, byte [ebp - 0x28]
movsx edi, dl
cmp ebx, edi
je 0x489050
mov edx, ecx
lea esi, [esi]
inc edx
mov al, byte [edx]
test al, al
je 0x488bc9
movsx eax, al
cmp ebx, eax
jne 0x488d08
test edx, edx
jne 0x488aec
jmp 0x488bc9
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option_____s_doesnt_allow_an_argument_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x488b49
xor eax, eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x488dc4
test eax, eax
jne 0x488dc4
cmp dword [0x49f408], 0
je 0x488d9a
mov eax, dword [0x49f404]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___W__s_is_ambiguous_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x503168]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x503168], eax
inc dword [0x49f404]
mov eax, 0x3f
jmp 0x4887bc
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x488f6e
cmp byte [ebp - 0x34], 0
je 0x488f29
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 4], 0
jne 0x488fcb
cmp dword [0x49f408], 0
je 0x488e19
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___W__s_doesnt_allow_an_argument_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x503168]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x503168], eax
mov eax, 0x3f
jmp 0x4887bc
mov eax, dword [0x49f404]
cmp eax, dword [ebp + 8]
je 0x488f82
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + eax*4]
mov dword [0x503160], esi
inc eax
mov dword [0x49f404], eax
jmp 0x4889c9
mov dword [0x503160], 0
jmp 0x488b9d
cmp dword [0x49f408], 0
je 0x488e9f
mov dword [esp + 0xc], ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option_requires_an_argument_____c_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x49f40c], ebx
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp byte [eax], 0x3a
setne bl
lea ebx, [ebx + ebx*4 + 0x3a]
jmp 0x488569
mov dword [esp + 0xc], esi
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_unrecognized_option_____s_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x488c0b
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ebx
mov eax, 1
jmp 0x488d59
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___s_requires_an_argument_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov esi, dword [0x503168]
jmp 0x488ca7
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 1
je 0x488faa
xor eax, eax
or ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
lea eax, [esi + ecx - 1]
mov dword [0x503168], eax
cmp dword [ebp + 0x18], 0
je 0x488f54
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x18]
mov dword [eax], edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
test eax, eax
je 0x488c61
mov edx, dword [ecx + 0xc]
mov dword [eax], edx
xor eax, eax
jmp 0x4887bc
mov dword [0x503168], 0
mov eax, 0x57
jmp 0x4887bc
cmp dword [0x49f408], 0
jne 0x489026
mov dword [0x49f40c], ebx
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0x3a
setne al
lea eax, [eax + eax*4 + 0x3a]
movsx eax, al
jmp 0x4887bc
mov eax, dword [0x49f404]
cmp dword [ebp + 8], eax
jle 0x488fe1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [0x503160], edx
inc eax
mov dword [0x49f404], eax
jmp 0x488f32
mov eax, dword [ebp - 0x30]
inc eax
mov dword [0x503160], eax
jmp 0x488f32
mov dword [ebp - 0x30], esi
jmp 0x4889fe
cmp dword [0x49f408], 0
jne 0x489058
mov edx, dword [0x503168]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x503168], eax
mov ecx, dword [ebp + 0x10]
xor eax, eax
cmp byte [ecx], 0x3a
setne al
lea eax, [eax + eax*4 + 0x3a]
jmp 0x4887bc
mov dword [0x49f404], edx
or eax, 0xffffffff
jmp 0x4887bc
mov dword [esp + 0xc], ebx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option_requires_an_argument_____c_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x488f8f
mov edx, dword [ebp + 0x10]
jmp 0x488d1a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4 - 4]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_option___s_requires_an_argument_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x488fea