Function at 0x4a0c10
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [0x4c1790]
mov dword [0x51ddbc], 0
test eax, eax
jne 0x4a0e74
mov dword [0x4c1790], 1
mov eax, 1
mov dword [0x51ddc0], eax
mov dword [0x51ddc4], eax
mov dword [0x51ddc8], 0
mov dword [esp], str.POSIXLY_CORRECT
call sub.msvcrt.dll_getenv
mov ecx, dword [esp + 0x78]
movzx edx, byte [ecx]
mov dword [0x51ddcc], eax
cmp dl, 0x2d
je 0x4a0fd3
cmp dl, 0x2b
je 0x4a10c0
test eax, eax
sete al
movzx eax, al
mov dword [0x51ddd0], eax
mov dword [0x51ddb8], 1
mov ebx, dword [0x51ddc8]
test ebx, ebx
je 0x4a0e87
movzx edx, byte [ebx]
test dl, dl
mov byte [esp + 0x2c], dl
je 0x4a0e87
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4a0f20
mov edx, dword [0x4c1790]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + edx*4]
movzx edx, byte [eax + 1]
mov dword [esp + 0x40], eax
cmp dl, 0x2d
mov byte [esp + 0x47], dl
je 0x4a0d30
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4a0f20
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 2], 0
jne 0x4a0d30
mov edx, dword [esp + 0x78]
movzx eax, byte [edx]
test al, al
je 0x4a0d30
movsx edx, byte [esp + 0x47]
movsx ebp, al
mov eax, dword [esp + 0x78]
cmp edx, ebp
jne 0x4a0d24
jmp 0x4a12e0
movsx ecx, cl
add eax, 1
cmp edx, ecx
je 0x4a12e0
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x4a0d16
lea esi, [esi]
cmp byte [esp + 0x2c], 0
mov ebp, ebx
je 0x4a0d51
cmp byte [esp + 0x2c], 0x3d
jne 0x4a0d46
jmp 0x4a0d51
test al, al
je 0x4a0d51
add ebp, 1
movzx eax, byte [ebp]
cmp al, 0x3d
jne 0x4a0d42
mov edx, dword [esp + 0x7c]
mov esi, dword [edx]
test esi, esi
je 0x4a124e
mov eax, ebp
mov edi, edx
sub eax, ebx
xor edx, edx
mov dword [esp + 0x28], ebx
mov ebx, eax
mov dword [esp + 0x4c], ebp
mov ebp, edx
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
jmp 0x4a0da4
mov dword [esp + 0x38], 1
add edi, 0x10
add ebp, 1
mov esi, dword [edi]
test esi, esi
je 0x4a0de8
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x4a0d98
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp ebx, eax
je 0x4a11a6
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4a0d90
mov dword [esp + 0x30], edi
add edi, 0x10
mov esi, dword [edi]
mov dword [esp + 0x48], ebp
add ebp, 1
test esi, esi
jne 0x4a0da4
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x4c]
test eax, eax
je 0x4a11b8
mov eax, dword [0x4c178c]
test eax, eax
je 0x4a0e3f
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov eax, dword [ecx]
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
mov edx, dword [0x4c1790]
mov ebx, dword [0x51ddc8]
mov dword [esp + 0x3c], edx
mov dword [esp], ebx
mov esi, 0x3f
call sub.msvcrt.dll_strlen
mov dword [0x4c1788], 0
add ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [0x51ddc8], ebx
add eax, 1
mov dword [0x4c1790], eax
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [0x51ddb8]
test ebx, ebx
je 0x4a0c3d
jmp 0x4a0c92
mov edx, dword [0x4c1790]
cmp dword [0x51ddc0], edx
jle 0x4a0e9b
mov dword [0x51ddc0], edx
cmp edx, dword [0x51ddc4]
jge 0x4a0ea9
mov dword [0x51ddc4], edx
cmp dword [0x51ddd0], 1
je 0x4a1050
cmp dword [esp + 0x70], edx
je 0x4a1025
mov ecx, dword [esp + 0x74]
mov edi, 0x509b40
mov eax, dword [ecx + edx*4]
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4a0ff0
mov eax, dword [0x51ddc4]
add edx, 1
mov ecx, dword [0x51ddc0]
mov dword [0x4c1790], edx
cmp eax, ecx
je 0x4a1227
cmp edx, ecx
je 0x4a0f09
mov eax, dword [esp + 0x74]
call fcn.004a0b20
mov eax, dword [0x51ddc4]
mov edx, dword [esp + 0x70]
mov dword [0x51ddc0], edx
mov dword [0x4c1790], edx
jmp 0x4a1034
mov edx, dword [esp + 0x78]
lea edi, [ebx + 1]
mov ecx, 1
movsx esi, byte [esp + 0x2c]
mov dword [0x51ddc8], edi
movzx eax, byte [edx]
xor edx, edx
test al, al
je 0x4a0f6d
movsx ebp, al
cmp ebp, esi
mov edx, dword [esp + 0x78]
jne 0x4a0f5e
jmp 0x4a1178
movsx eax, al
add edx, 1
cmp esi, eax
je 0x4a1178
movzx eax, byte [edx + 1]
test al, al
jne 0x4a0f50
mov ecx, 1
xor edx, edx
cmp byte [ebx + 1], 0
jne 0x4a0f7a
add dword [0x4c1790], 1
test cl, cl
je 0x4a10d4
mov eax, dword [0x4c178c]
test eax, eax
je 0x4a0fbe
mov eax, dword [0x51ddcc]
mov dword [esp + 0xc], esi
test eax, eax
je 0x4a13e2
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_illegal_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 dword [0x4c1788], esi
add esp, 0x5c
mov esi, 0x3f
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
add ecx, 1
mov dword [0x51ddd0], 2
mov dword [esp + 0x78], ecx
jmp 0x4a0c88
cmp byte [eax], 0x2d
je 0x4a1140
mov ecx, dword [0x51ddd0]
mov esi, 0xffffffff
test ecx, ecx
je 0x4a101b
add edx, 1
mov esi, 1
mov dword [0x51ddbc], eax
mov dword [0x4c1790], edx
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x51ddc0]
mov eax, dword [0x51ddc4]
mov dword [esp + 0x70], edx
cmp eax, dword [esp + 0x70]
mov esi, 0xffffffff
je 0x4a101b
mov dword [0x4c1790], eax
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x51ddc4]
mov eax, dword [0x51ddc0]
cmp ecx, eax
je 0x4a12c7
cmp edx, eax
je 0x4a1076
mov eax, dword [esp + 0x74]
call fcn.004a0b20
mov edx, dword [0x4c1790]
cmp dword [esp + 0x70], edx
jle 0x4a1190
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
jmp 0x4a10a1
add edx, 1
cmp edx, ebx
mov dword [0x4c1790], edx
je 0x4a1190
mov eax, dword [ecx + edx*4]
cmp byte [eax], 0x2d
jne 0x4a1090
cmp byte [eax + 1], 0
je 0x4a1090
mov eax, edx
mov edx, dword [0x4c1790]
jmp 0x4a1192
mov dword [0x51ddd0], 0
add dword [esp + 0x78], 1
jmp 0x4a0c88
cmp byte [esp + 0x2c], 0x3a
je 0x4a0f82
cmp byte [edx], 0x57
movzx eax, byte [edx + 1]
je 0x4a12fb
cmp al, 0x3a
jne 0x4a101b
cmp byte [edx + 2], 0x3a
je 0x4a14c0
cmp byte [ebx + 1], 0
jne 0x4a148b
mov eax, dword [0x4c1790]
cmp eax, dword [esp + 0x70]
je 0x4a1610
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + eax*4]
add eax, 1
mov dword [0x4c1790], eax
mov dword [0x51ddbc], edx
mov dword [0x51ddc8], 0
jmp 0x4a101b
movzx ecx, byte [eax + 1]
test cl, cl
je 0x4a0ff9
mov edx, dword [esp + 0x7c]
mov ebx, 1
test edx, edx
je 0x4a1164
xor ebx, ebx
cmp cl, 0x2d
sete bl
add ebx, 1
add ebx, eax
movzx ecx, byte [ebx]
mov dword [0x51ddc8], ebx
mov byte [esp + 0x2c], cl
jmp 0x4a0caf
test edx, edx
sete cl
cmp byte [ebx + 1], 0
jne 0x4a0f7a
jmp 0x4a0f73
mov eax, edx
cmp dword [esp + 0x70], edx
mov dword [0x51ddc0], eax
jne 0x4a0ec0
jmp 0x4a1025
mov edx, ebp
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a124e
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [0x4c1790], eax
cmp byte [ebp], 0
jne 0x4a1234
mov edx, dword [esp + 0x30]
cmp dword [edx + 4], 1
je 0x4a149d
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x80]
add ebx, eax
test edx, edx
mov dword [0x51ddc8], ebx
je 0x4a120c
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x80]
mov dword [edx], ecx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
test eax, eax
je 0x4a14d5
mov edx, dword [edx + 0xc]
xor esi, esi
mov dword [eax], edx
jmp 0x4a101b
mov dword [0x51ddc4], edx
mov eax, edx
jmp 0x4a0f09
mov ecx, dword [esp + 0x30]
mov edi, dword [ecx + 4]
test edi, edi
je 0x4a1409
add ebp, 1
mov dword [0x51ddbc], ebp
jmp 0x4a11e4
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x4a15bf
mov eax, dword [0x4c178c]
test eax, eax
je 0x4a12a2
cmp byte [esp + 0x47], 0x2d
je 0x4a16f7
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x74]
movsx eax, byte [edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_unrecognized_option___c_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 dword [0x51ddc8], 0x509c2c
mov esi, 0x3f
add dword [0x4c1790], 1
mov dword [0x4c1788], 0
jmp 0x4a101b
cmp edx, ecx
je 0x4a1076
mov dword [0x51ddc4], edx
jmp 0x4a1076
test eax, eax
je 0x4a0d30
movsx esi, byte [esp + 0x2c]
lea edi, [ebx + 1]
mov dword [0x51ddc8], edi
jmp 0x4a0f43
cmp al, 0x3b
jne 0x4a10ec
cmp byte [ebx + 1], 0
je 0x4a1596
add dword [0x4c1790], 1
mov dword [0x51ddbc], edi
movzx ebp, byte [edi]
mov dword [0x51ddc8], edi
mov dword [esp + 0x38], edi
mov ecx, ebp
cmp cl, 0x3d
je 0x4a134b
test cl, cl
je 0x4a134b
mov eax, edi
jmp 0x4a133a
test dl, dl
je 0x4a1345
add eax, 1
movzx edx, byte [eax]
cmp dl, 0x3d
jne 0x4a1336
mov dword [esp + 0x38], eax
mov ebp, edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx]
test ebx, ebx
je 0x4a1794
mov edx, dword [esp + 0x38]
mov ecx, ebp
xor eax, eax
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0x7c]
mov ebp, eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
sub edx, edi
mov dword [esp + 0x2c], 0
mov edi, edx
mov byte [esp + 0x46], cl
jmp 0x4a13a8
mov dword [esp + 0x30], 1
add esi, 0x10
add ebp, 1
mov ebx, dword [esi]
test ebx, ebx
je 0x4a1522
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edi
mov dword [esp], ebx
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x4a1398
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
cmp edi, eax
je 0x4a1667
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4a1390
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], esi
jmp 0x4a1398
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
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
jmp 0x4a0fbe
mov esi, dword [0x4c178c]
test esi, esi
je 0x4a11e4
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + edx*4]
cmp byte [eax + 1], 0x2d
je 0x4a163a
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x74]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___c_s_doesnt_allow_an_argument_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 ebx, dword [0x51ddc8]
mov esi, 0x3f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [esp + 0x30]
add ebx, eax
mov eax, dword [ecx + 0xc]
mov dword [0x51ddc8], ebx
mov dword [0x4c1788], eax
jmp 0x4a101b
mov dword [0x51ddbc], edi
add dword [0x4c1790], 1
jmp 0x4a112c
cmp dword [esp + 0x70], eax
jle 0x4a14e1
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
mov dword [0x51ddbc], eax
mov eax, dword [esp + 0x3c]
add eax, 2
mov dword [0x4c1790], eax
jmp 0x4a11e4
cmp byte [ebx + 1], 0
jne 0x4a148b
mov dword [0x51ddbc], 0
jmp 0x4a112c
mov edx, dword [esp + 0x30]
mov esi, dword [edx + 0xc]
jmp 0x4a101b
mov ecx, dword [0x4c178c]
test ecx, ecx
jne 0x4a1722
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x30]
add ebx, eax
mov eax, dword [edx + 0xc]
mov dword [0x51ddc8], ebx
mov dword [0x4c1788], eax
mov edx, dword [esp + 0x78]
xor ecx, ecx
cmp byte [edx], 0x3a
setne cl
mov esi, ecx
lea esi, [esi + esi*4 + 0x3a]
jmp 0x4a101b
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
movzx ebp, byte [esp + 0x46]
test esi, esi
je 0x4a167a
mov ebx, dword [0x4c178c]
test ebx, ebx
je 0x4a1575
mov ecx, dword [esp + 0x74]
mov eax, dword [0x4c1790]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option___W__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
mov edi, dword [0x51ddc8]
mov dword [esp], edi
mov esi, 0x3f
call sub.msvcrt.dll_strlen
add dword [0x4c1790], 1
add edi, eax
mov dword [0x51ddc8], edi
jmp 0x4a101b
mov eax, dword [0x4c1790]
cmp eax, dword [esp + 0x70]
je 0x4a175a
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4]
add eax, 1
mov dword [0x4c1790], eax
mov dword [0x51ddbc], edi
jmp 0x4a131a
cmp byte [esp + 0x47], 0x2d
je 0x4a125d
mov edx, dword [esp + 0x78]
movzx eax, byte [edx]
test al, al
je 0x4a125d
movsx esi, byte [esp + 0x2c]
movsx ebp, al
cmp esi, ebp
je 0x4a1856
movzx eax, byte [edx + 1]
test al, al
je 0x4a125d
movsx eax, al
add edx, 1
cmp esi, eax
jne 0x4a15e9
test edx, edx
jne 0x4a12ed
jmp 0x4a125d
mov eax, dword [0x4c178c]
test eax, eax
jne 0x4a17f5
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov dword [0x4c1788], esi
cmp byte [edx], 0x3a
setne cl
mov esi, ecx
lea esi, [esi + esi*4 + 0x3a]
jmp 0x4a112c
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option_____s_doesnt_allow_an_argument_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 0x4a145f
mov eax, ebp
mov edi, dword [esp + 0x28]
movzx ebp, byte [esp + 0x46]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4a1794
mov eax, ebp
test al, al
je 0x4a17a8
mov edx, dword [esp + 0x2c]
cmp dword [edx + 4], 0
jne 0x4a1845
cmp dword [0x4c178c], 0
je 0x4a16d3
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___W__s_doesnt_allow_an_argument_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 edx, dword [0x51ddc8]
xor eax, eax
or ecx, 0xffffffff
mov esi, 0x3f
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x51ddc8], eax
jmp 0x4a101b
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_unrecognized_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
jmp 0x4a12a2
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x3c]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option___s_requires_an_argument_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 ebx, dword [0x51ddc8]
jmp 0x4a14ef
mov eax, dword [0x4c178c]
test eax, eax
je 0x4a1789
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
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
mov dword [0x4c1788], esi
jmp 0x4a150b
mov dword [0x51ddc8], 0
mov esi, 0x57
jmp 0x4a101b
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 1
je 0x4a1820
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x80]
add edi, eax
test edx, edx
mov dword [0x51ddc8], edi
je 0x4a17da
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x80]
mov dword [edx], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
test eax, eax
jne 0x4a121b
mov edx, dword [esp + 0x2c]
mov esi, dword [edx + 0xc]
jmp 0x4a101b
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
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 0x4a161d
mov eax, dword [0x4c1790]
cmp dword [esp + 0x70], eax
jle 0x4a185f
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + eax*4]
add eax, 1
mov dword [0x4c1790], eax
mov dword [0x51ddbc], edx
jmp 0x4a17b2
mov eax, dword [esp + 0x38]
add eax, 1
mov dword [0x51ddbc], eax
jmp 0x4a17b2
mov edx, dword [esp + 0x78]
jmp 0x4a15ff
cmp dword [0x4c178c], 0
je 0x4a1892
mov edx, dword [esp + 0x74]
mov eax, dword [edx + eax*4 - 4]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___s_requires_an_argument_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 edx, dword [0x51ddc8]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x51ddc8], eax
jmp 0x4a150b