Function at 0x100017a8
Capabilities:
Terminate process

Disassembly:
push esi
sub esp, 0x3c
mov esi, edx
mov edx, eax
cmp edx, 1
jle 0x100017f6
mov dword [esp + 0x38], edi
mov edi, edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebp
mov eax, 1
mov dword [esp + 0x20], eax
mov ebx, eax
mov ebp, eax
mov edx, dword [esi + ebx*4]
inc ebx
test ebp, ebp
je 0x100017e6
cmp byte [edx], 0x2d
je 0x100017fb
cmp ebx, edi
jl 0x100017d0
jmp 0x100019c9
cmp ebx, edi
jl 0x100017d0
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
add esp, 0x3c
pop esi
ret
movsx eax, byte [edx + 1]
test eax, eax
je 0x100019c1
cmp eax, 0x2d
jne 0x10001820
movsx eax, byte [edx + 2]
test eax, eax
jne 0x10001820
cmp ebx, edi
jge 0x100019c9
xor ebp, ebp
jmp 0x100017d0
mov dword [esp + 0x2c], str.degree
mov dword [esp + 0x28], edx
lea eax, [edx + 1]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x14], ebp
mov ebp, eax
mov dword [esp + 0x18], edi
mov ecx, str.degree
mov dword [esp + 0x1c], esi
mov edi, ebp
mov esi, ecx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x10001872
test dl, dl
je 0x1000186e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x10001872
add edi, 2
add esi, 2
test dl, dl
jne 0x10001852
xor eax, eax
jmp 0x10001877
sbb eax, eax
or eax, 1
test eax, eax
je 0x10001884
add ebx, 0x14
mov ecx, dword [ebx]
test ecx, ecx
jne 0x1000184e
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x20]
test ecx, ecx
je 0x10001c0a
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
je 0x100019da
mov ecx, dword [eax + 4]
test cl, 1
je 0x100018ea
mov eax, dword [esi + ebx*4]
mov dword [esp + 0x10], eax
inc ebx
test eax, eax
jne 0x100018f2
mov ebx, edx
call dword [sym.imp.MSVCR90.dll___iob_func]
push ebx
push dword [esi]
add eax, 0x40
push str._s:_missing_argument_for_option__s_n
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0x14
mov dword [esp + 0x10], 0
test cl, 8
jne 0x10001bea
test cl, 2
je 0x1000191a
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [ecx], 1
cmp ebx, edi
jl 0x100017d0
jmp 0x100019c9
test ecx, 0x80
je 0x10001943
push dword [esp + 0x10]
call dword [sym.imp.MSVCR90.dll_atoi]
pop ecx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
cmp ebx, edi
jl 0x100017d0
jmp 0x100019c9
test ecx, 0x800
jne 0x100019ff
test ecx, 0x100
je 0x10001975
push dword [esp + 0x10]
call dword [sym.imp.MSVCR90.dll_atof]
pop ecx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
fstp dword [ecx]
cmp ebx, edi
jl 0x100017d0
jmp 0x100019c9
test ecx, 0x400
je 0x100019a8
push dword [esp + 0x10]
push dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], edx
call dword [eax + 8]
mov edx, dword [esp + 0x30]
add esp, 8
test eax, eax
jl 0x100019da
cmp ebx, edi
jl 0x100017d0
jmp 0x100017ea
push dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
call dword [ecx + 8]
pop ecx
cmp ebx, edi
jl 0x100017d0
jmp 0x100017ea
cmp ebx, edi
jl 0x100017d0
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
jmp 0x100017f6
mov ebx, edx
call dword [sym.imp.MSVCR90.dll___iob_func]
push ebx
push dword [esi]
add eax, 0x40
push str._s:_unrecognized_option__s_n
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0x14
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], edi
mov edx, 1
mov dword [esp + 0x1c], esi
jmp 0x10001a17
inc ebp
movsx esi, byte [ebp]
mov eax, esi
lea ecx, [eax - 9]
cmp ecx, 0x20
jae 0x10001a31
mov edi, edx
shl edi, cl
test edi, 0x80001f
jne 0x10001a16
mov edi, dword [esp + 0x18]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x14]
cmp eax, 0x2b
je 0x10001a58
cmp eax, 0x2d
je 0x10001a58
mov dword [esp], 0
jmp 0x10001a7b
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
movsx ecx, byte [ecx]
cmp eax, 0x2d
mov dword [esp + 8], ecx
mov ecx, 1
mov eax, 0
cmovne ecx, eax
mov dword [esp], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 8]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 4], eax
mov ebx, eax
cmp esi, 0x30
jge 0x10001abf
mov ecx, dword [esp + 4]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, ebx
mov ebx, dword [esp + 0x20]
jmp 0x10001b5f
cmp esi, 0x39
jg 0x10001ac9
add esi, 0xffffffd0
jmp 0x10001ae5
cmp esi, 0x61
jl 0x10001ad8
cmp esi, 0x7a
jg 0x10001aa4
add esi, 0xffffffa9
jmp 0x10001ae5
cmp esi, 0x41
jl 0x10001b49
cmp esi, 0x5a
jg 0x10001b49
add esi, 0xffffffc9
cmp esi, 0xa
jge 0x10001aa4
mov ecx, dword [esp + 0xc]
sub ecx, 0xcccccccc
mov edx, ebx
sbb edx, 0xccccccc
jl 0x10001b0b
or ecx, edx
je 0x10001b0b
mov edx, 1
mov dword [esp + 4], edx
push ebx
push dword [esp + 0x10]
push 0
push 0xa
call fcn.10001e10
mov edi, eax
mov ecx, edx
mov eax, esi
cdq
add edi, esi
adc ecx, edx
mov esi, edi
sub esi, dword [esp + 0xc]
mov esi, ecx
sbb esi, ebx
jge 0x10001b39
mov ebx, 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edi
mov ebx, ecx
inc ebp
movsx esi, byte [ebp]
jmp 0x10001a9f
mov ecx, dword [esp + 4]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, ebx
mov ebx, dword [esp + 0x20]
test ecx, ecx
je 0x10001b95
mov ecx, 1
cmp dword [esp], 0
jne 0x10001b73
mov ecx, 0
mov eax, 0xffffffff
test ecx, ecx
mov ecx, 0
cmove ecx, eax
mov eax, 0x7fffffff
mov dword [esp + 0xc], ecx
mov ecx, 0x80000000
cmovne eax, ecx
jmp 0x10001bcd
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], ebx
xor ecx, ecx
xor ebp, ebp
sub ecx, edx
sbb ebp, eax
mov ebx, 1
cmp dword [esp], 0
jne 0x10001bb9
mov ebx, 0
test ebx, ebx
cmovne edx, ecx
mov ebx, dword [esp + 0x20]
cmovne eax, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0xc]
mov dword [edx], ecx
mov dword [edx + 4], eax
cmp ebx, edi
jl 0x100017d0
jmp 0x100017ea
push dword [esp + 0x10]
call sub.avutil.dll_av_strdup
pop ecx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
cmp ebx, edi
jl 0x100017d0
jmp 0x100017ea
mov dword [esp + 0x14], ebp
mov ecx, edx
mov dword [esp + 0x2c], 0x1000420c
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov eax, str.degree
mov esi, eax
mov edi, str.default
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x10001c50
test dl, dl
je 0x10001c4c
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x10001c50
add edi, 2
add esi, 2
test dl, dl
jne 0x10001c30
xor eax, eax
jmp 0x10001c55
sbb eax, eax
or eax, 1
test eax, eax
je 0x10001c63
add ebp, 0x14
mov esi, dword [ebp]
test esi, esi
jne 0x10001c2b
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x14]
mov edx, ecx
jmp 0x100018a4