Function at 0x4060f0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
cmp ebx, 1
jne 0x40610b
call fcn.00406e90
push 0
call fcn.0043581e
call fcn.00405d80
cmp eax, 4
jge 0x406134
push str._ASlink_Error_Size_of_INT32_is_not_32_bits_or_larger._n_n
push 2
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
add esp, 8
push 3
call fcn.0043581e
push 0x458920
push 1
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
push 0x14
mov dword [0x466354], 0
mov dword [0x466350], 0
call fcn.0040a480
mov edi, 1
mov dword [0x4664e0], eax
add esp, 0xc
mov dword [ebp - 4], edi
mov dword [eax + 8], 0x4586ed
mov dword [0x466334], 1
cmp ebx, edi
jle 0x406350
mov eax, dword [ebp + 0xc]
mov dword [0x466a20], 0x466820
mov ebx, dword [eax + edi*4]
cmp byte [ebx], 0x2d
jne 0x406301
cmp dword [0x4664dc], 0
jne 0x40638c
movsx esi, byte [ebx + 1]
inc ebx
test esi, esi
je 0x406343
push esi
push 0x4593e8
push 0x466820
inc ebx
mov dword [0x466a20], 0x466820
call fcn.00401950
lea eax, [esi - 0x41]
add esp, 0xc
cmp eax, 0x33
ja case.0x4061ed.67
movzx eax, byte [eax + 0x4064ec]
jmp dword [eax*4 + 0x4064d0]
cmp byte [ebx], 0x31
jne case.0x4061ed.67
mov eax, dword [0x466a20]
push 0x31
add eax, 2
push 0x4593ec
push eax
call fcn.00401950
add esp, 0xc
inc ebx
cmp dword [0x466334], 0
je 0x406239
push dword [0x466a20]
push str.ASlink_____s_n
push 1
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
call fcn.004068b0
movsx esi, byte [ebx]
test esi, esi
jne 0x4061c0
mov edi, dword [ebp - 4]
jmp 0x406340
cmp byte [ebx], 0x2b
jne case.0x4061ed.67
mov eax, dword [0x466a20]
push 0x2b
add eax, 2
push 0x4593ec
push eax
call fcn.00401950
add esp, 0xc
inc ebx
mov edi, dword [0x466a20]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x406276
mov ax, word [0x4588b0]
mov word [edi], ax
cmp byte [ebx], 0
jne 0x4062a4
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, dword [ebp + 8]
jge 0x406360
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + eax*4]
mov edx, ebx
mov esi, ebx
mov al, byte [edx]
inc edx
test al, al
jne 0x4062a8
mov edi, dword [0x466a20]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4062b8
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4062d3
sub ecx, edx
add ebx, ecx
jmp case.0x4061ed.67
mov dword [0x466334], 0
jmp 0x406239
mov dword [0x466334], 1
jmp 0x40621b
mov ecx, 0x466820
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x406306
cmp dword [0x466334], 0
je 0x40633b
push dword [0x466a20]
push str.ASlink_____s_n
push 1
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
call fcn.004068b0
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 4], edi
cmp edi, dword [ebp + 8]
jl 0x406190
cmp dword [0x4664dc], 0
jne 0x4063b0
push str._ASlink_Error_Missing_input_file_s__n
jmp 0x406396
push esi
push str._ASlink_Error_Missing___c_argument_n
push 2
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
push 3
call fcn.00406040
call fcn.00406e90
push 0
call fcn.00406040
call fcn.00406e90
push str._ASlink_Error_Options_come_first_n
push 2
call fcn.004156db
add esp, 4
push eax
call fcn.00401010
add esp, 8
push 3
call fcn.00406040
call fcn.0040a7a0
push 0
call fcn.00406e80
add esp, 4
mov dword [0x466310], eax
mov dword [0x466314], edx
call fcn.0040a380
mov dword [0x46630c], 0
nop dword [eax]
mov eax, dword [0x4664dc]
mov dword [0x4664e4], 0
mov dword [0x464cd0], 0
mov eax, dword [eax]
mov dword [0x4664e8], eax
mov dword [0x4664d0], 0
mov dword [0x4661bc], 0xff
mov dword [0x466324], 0xa
call fcn.00403100
test eax, eax
je 0x406448
nop word [eax + eax]
mov dword [0x466a20], 0x466820
call fcn.00405d90
call fcn.00403100
test eax, eax
jne 0x406430
cmp dword [0x46630c], 0
jne 0x406498
call fcn.00403b90
call fcn.00401840
call fcn.00402250
call fcn.00401150
push 2
call fcn.004156db
push eax
call fcn.00401990
call fcn.00406d80
push 2
call fcn.004156db
push eax
call fcn.0040a6d0
add esp, 0x10
call fcn.00407470
call fcn.00406520
call fcn.00401bc0
jmp 0x4064a7
call fcn.00403ac0
push 0x45
call fcn.004083f0
add esp, 4
mov eax, dword [0x46630c]
inc eax
mov dword [0x46630c], eax
cmp eax, 2
jl 0x4063e0
mov eax, dword [0x466a24]
neg eax
sbb eax, eax
and eax, 2
push eax
jmp 0x4063ab