adee1d:	1b c0                	sbb    %eax,%eax
adee1f:	40                   	inc    %eax
adee20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
adee23:	33 cd                	xor    %ebp,%ecx
adee25:	5e                   	pop    %esi
adee26:	e8 8b c9 93 ff       	call   0x41b7b6
adee2b:	8b e5                	mov    %ebp,%esp
adee2d:	5d                   	pop    %ebp
adee2e:	c3                   	ret
adee2f:	cc                   	int3
adee30:	cc                   	int3
adee31:	cc                   	int3
adee32:	cc                   	int3
adee33:	cc                   	int3
adee34:	cc                   	int3
adee35:	cc                   	int3
adee36:	cc                   	int3
adee37:	cc                   	int3
adee38:	cc                   	int3
adee39:	cc                   	int3
adee3a:	cc                   	int3
adee3b:	cc                   	int3
adee3c:	cc                   	int3
adee3d:	cc                   	int3
adee3e:	cc                   	int3
adee3f:	cc                   	int3
adee40:	cc                   	int3
adee41:	8b ff                	mov    %edi,%edi
adee43:	55                   	push   %ebp
adee44:	8b ec                	mov    %esp,%ebp
adee46:	ff 75 08             	push   0x8(%ebp)
adee49:	e8 96 ff ff ff       	call   0xadede4
adee4e:	59                   	pop    %ecx
adee4f:	85 c0                	test   %eax,%eax
adee51:	75 2f                	jne    0xadee82
adee53:	39 45 0c             	cmp    %eax,0xc(%ebp)
adee56:	74 2a                	je     0xadee82
adee58:	8b 45 10             	mov    0x10(%ebp),%eax
adee5b:	56                   	push   %esi
adee5c:	8b 08                	mov    (%eax),%ecx
adee5e:	8b f1                	mov    %ecx,%esi
adee60:	8d 56 02             	lea    0x2(%esi),%edx
adee63:	66 8b 06             	mov    (%esi),%ax
adee66:	83 c6 02             	add    $0x2,%esi
adee69:	66 85 c0             	test   %ax,%ax
adee6c:	75 f5                	jne    0xadee63
adee6e:	2b f2                	sub    %edx,%esi
adee70:	51                   	push   %ecx
adee71:	d1 fe                	sar    $1,%esi
adee73:	e8 76 f9 ff ff       	call   0xade7ee
adee78:	59                   	pop    %ecx
adee79:	3b c6                	cmp    %esi,%eax
adee7b:	5e                   	pop    %esi
adee7c:	75 04                	jne    0xadee82
adee7e:	33 c0                	xor    %eax,%eax
adee80:	5d                   	pop    %ebp
adee81:	c3                   	ret
adee82:	33 c0                	xor    %eax,%eax
adee84:	40                   	inc    %eax
adee85:	5d                   	pop    %ebp
adee86:	c3                   	ret
adee87:	cc                   	int3
adee88:	cc                   	int3
adee89:	cc                   	int3
adee8a:	cc                   	int3
adee8b:	cc                   	int3
adee8c:	cc                   	int3
adee8d:	cc                   	int3
adee8e:	cc                   	int3
adee8f:	cc                   	int3
adee90:	cc                   	int3
adee91:	cc                   	int3
adee92:	cc                   	int3
adee93:	cc                   	int3
adee94:	cc                   	int3
adee95:	cc                   	int3
adee96:	cc                   	int3
adee97:	cc                   	int3
adee98:	8b ff                	mov    %edi,%edi
adee9a:	55                   	push   %ebp
adee9b:	8b ec                	mov    %esp,%ebp
adee9d:	51                   	push   %ecx
adee9e:	56                   	push   %esi
adee9f:	8b 75 0c             	mov    0xc(%ebp),%esi
adeea2:	33 d2                	xor    %edx,%edx
adeea4:	57                   	push   %edi
adeea5:	42                   	inc    %edx
adeea6:	33 ff                	xor    %edi,%edi
adeea8:	85 f6                	test   %esi,%esi
adeeaa:	78 4e                	js     0xadeefa
adeeac:	53                   	push   %ebx
adeead:	85 d2                	test   %edx,%edx
adeeaf:	74 48                	je     0xadeef9
adeeb1:	8d 04 37             	lea    (%edi,%esi,1),%eax
adeeb4:	99                   	cltd
adeeb5:	2b c2                	sub    %edx,%eax
adeeb7:	8b d8                	mov    %eax,%ebx
adeeb9:	8b 45 08             	mov    0x8(%ebp),%eax
adeebc:	d1 fb                	sar    $1,%ebx
adeebe:	6b cb 0c             	imul   $0xc,%ebx,%ecx
adeec1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
adeec4:	ff 34 01             	push   (%ecx,%eax,1)
adeec7:	8b 45 10             	mov    0x10(%ebp),%eax
adeeca:	ff 30                	push   (%eax)
adeecc:	e8 30 45 95 ff       	call   0x433401
adeed1:	8b d0                	mov    %eax,%edx
adeed3:	59                   	pop    %ecx
adeed4:	59                   	pop    %ecx
adeed5:	85 d2                	test   %edx,%edx
adeed7:	75 12                	jne    0xadeeeb
adeed9:	8b 45 08             	mov    0x8(%ebp),%eax
adeedc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
adeedf:	83 c0 04             	add    $0x4,%eax
adeee2:	03 c8                	add    %eax,%ecx
adeee4:	8b 45 10             	mov    0x10(%ebp),%eax
adeee7:	89 08                	mov    %ecx,(%eax)
adeee9:	eb 0a                	jmp    0xadeef5
adeeeb:	79 05                	jns    0xadeef2
adeeed:	8d 73 ff             	lea    -0x1(%ebx),%esi
adeef0:	eb 03                	jmp    0xadeef5
adeef2:	8d 7b 01             	lea    0x1(%ebx),%edi
adeef5:	3b fe                	cmp    %esi,%edi
adeef7:	7e b4                	jle    0xadeead
adeef9:	5b                   	pop    %ebx
adeefa:	33 c0                	xor    %eax,%eax
adeefc:	85 d2                	test   %edx,%edx
adeefe:	5f                   	pop    %edi
adeeff:	0f 94 c0             	sete   %al
adef02:	5e                   	pop    %esi
adef03:	8b e5                	mov    %ebp,%esp
adef05:	5d                   	pop    %ebp
adef06:	c3                   	ret
adef07:	cc                   	int3
adef08:	cc                   	int3
adef09:	cc                   	int3
adef0a:	cc                   	int3
adef0b:	cc                   	int3
adef0c:	cc                   	int3
adef0d:	cc                   	int3
adef0e:	cc                   	int3
adef0f:	cc                   	int3
adef10:	cc                   	int3
adef11:	cc                   	int3
adef12:	cc                   	int3
adef13:	cc                   	int3
adef14:	cc                   	int3
adef15:	cc                   	int3
adef16:	cc                   	int3
adef17:	cc                   	int3
adef18:	cc                   	int3
adef19:	cc                   	int3
adef1a:	cc                   	int3
adef1b:	cc                   	int3
adef1c:	cc                   	int3
adef1d:	cc                   	int3
adef1e:	cc                   	int3
adef1f:	cc                   	int3
adef20:	cc                   	int3
adef21:	cc                   	int3
adef22:	8b ff                	mov    %edi,%edi
adef24:	55                   	push   %ebp
adef25:	8b ec                	mov    %esp,%ebp
adef27:	51                   	push   %ecx
adef28:	51                   	push   %ecx
adef29:	53                   	push   %ebx
adef2a:	56                   	push   %esi
adef2b:	57                   	push   %edi
adef2c:	e8 32 22 92 ff       	call   0x401163
adef31:	8b 5d 08             	mov    0x8(%ebp),%ebx
adef34:	33 c9                	xor    %ecx,%ecx
adef36:	89 4d f8             	mov    %ecx,-0x8(%ebp)
adef39:	8d 70 50             	lea    0x50(%eax),%esi
adef3c:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
adef42:	89 4e 08             	mov    %ecx,0x8(%esi)
adef45:	66 89 08             	mov    %cx,(%eax)
adef48:	8d 7e 04             	lea    0x4(%esi),%edi
adef4b:	89 45 fc             	mov    %eax,-0x4(%ebp)
adef4e:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
adef54:	89 1e                	mov    %ebx,(%esi)
adef56:	89 07                	mov    %eax,(%edi)
adef58:	66 39 08             	cmp    %cx,(%eax)
adef5b:	74 12                	je     0xadef6f
adef5d:	57                   	push   %edi
adef5e:	6a 16                	push   $0x16
adef60:	68 b8 82 c8 00       	push   $0xc882b8
adef65:	e8 2e ff ff ff       	call   0xadee98
adef6a:	83 c4 0c             	add    $0xc,%esp
adef6d:	33 c9                	xor    %ecx,%ecx
adef6f:	8b 06                	mov    (%esi),%eax
adef71:	56                   	push   %esi
adef72:	66 39 08             	cmp    %cx,(%eax)
adef75:	74 47                	je     0xadefbe
adef77:	8b 07                	mov    (%edi),%eax
adef79:	66 39 08             	cmp    %cx,(%eax)
adef7c:	74 07                	je     0xadef85
adef7e:	e8 3a f7 ff ff       	call   0xade6bd
adef83:	eb 05                	jmp    0xadef8a
adef85:	e8 f3 f7 ff ff       	call   0xade77d
adef8a:	33 c0                	xor    %eax,%eax
adef8c:	59                   	pop    %ecx
adef8d:	39 46 08             	cmp    %eax,0x8(%esi)
adef90:	75 32                	jne    0xadefc4
adef92:	56                   	push   %esi
adef93:	6a 40                	push   $0x40
adef95:	68 08 7f c8 00       	push   $0xc87f08
adef9a:	e8 f9 fe ff ff       	call   0xadee98
adef9f:	83 c4 0c             	add    $0xc,%esp
adefa2:	85 c0                	test   %eax,%eax
adefa4:	74 1e                	je     0xadefc4
adefa6:	8b 07                	mov    (%edi),%eax
adefa8:	33 c9                	xor    %ecx,%ecx
adefaa:	56                   	push   %esi
adefab:	66 39 08             	cmp    %cx,(%eax)
adefae:	74 07                	je     0xadefb7
adefb0:	e8 08 f7 ff ff       	call   0xade6bd
adefb5:	eb 0c                	jmp    0xadefc3
adefb7:	e8 c1 f7 ff ff       	call   0xade77d
adefbc:	eb 05                	jmp    0xadefc3
adefbe:	e8 4f f6 ff ff       	call   0xade612
adefc3:	59                   	pop    %ecx
adefc4:	33 ff                	xor    %edi,%edi
adefc6:	39 7e 08             	cmp    %edi,0x8(%esi)
adefc9:	0f 84 0c 01 00 00    	je     0xadf0db
adefcf:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
adefd5:	56                   	push   %esi
adefd6:	50                   	push   %eax
adefd7:	e8 e8 fc ff ff       	call   0xadecc4
adefdc:	8b f0                	mov    %eax,%esi
adefde:	59                   	pop    %ecx
adefdf:	59                   	pop    %ecx
adefe0:	85 f6                	test   %esi,%esi
adefe2:	0f 84 f3 00 00 00    	je     0xadf0db
adefe8:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
adefee:	0f 84 e7 00 00 00    	je     0xadf0db
adeff4:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
adeffa:	0f 84 db 00 00 00    	je     0xadf0db
adf000:	0f b7 c6             	movzwl %si,%eax
adf003:	50                   	push   %eax
adf004:	ff 15 d4 38 d8 00    	call   *0xd838d4
adf00a:	85 c0                	test   %eax,%eax
adf00c:	0f 84 c9 00 00 00    	je     0xadf0db
adf012:	8b 45 0c             	mov    0xc(%ebp),%eax
adf015:	85 c0                	test   %eax,%eax
adf017:	74 02                	je     0xadf01b
adf019:	89 30                	mov    %esi,(%eax)
adf01b:	8b 7d 10             	mov    0x10(%ebp),%edi
adf01e:	85 ff                	test   %edi,%edi
adf020:	0f 84 b0 00 00 00    	je     0xadf0d6
adf026:	8b 4d fc             	mov    -0x4(%ebp),%ecx
adf029:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
adf02f:	33 c0                	xor    %eax,%eax
adf031:	66 89 03             	mov    %ax,(%ebx)
adf034:	8d 51 02             	lea    0x2(%ecx),%edx
adf037:	66 8b 01             	mov    (%ecx),%ax
adf03a:	83 c1 02             	add    $0x2,%ecx
adf03d:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
adf041:	75 f4                	jne    0xadf037
adf043:	2b ca                	sub    %edx,%ecx
adf045:	d1 f9                	sar    $1,%ecx
adf047:	8d 41 01             	lea    0x1(%ecx),%eax
adf04a:	50                   	push   %eax
adf04b:	ff 75 fc             	push   -0x4(%ebp)
adf04e:	6a 55                	push   $0x55
adf050:	53                   	push   %ebx
adf051:	e8 48 97 95 ff       	call   0x43879e
adf056:	83 c4 10             	add    $0x10,%esp
adf059:	85 c0                	test   %eax,%eax
adf05b:	0f 85 83 00 00 00    	jne    0xadf0e4
adf061:	6a 40                	push   $0x40
adf063:	57                   	push   %edi
adf064:	68 01 10 00 00       	push   $0x1001
adf069:	53                   	push   %ebx
adf06a:	e8 25 0a 96 ff       	call   0x43fa94
adf06f:	85 c0                	test   %eax,%eax
adf071:	74 68                	je     0xadf0db
adf073:	6a 40                	push   $0x40
adf075:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
adf07b:	53                   	push   %ebx
adf07c:	68 02 10 00 00       	push   $0x1002
adf081:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
adf087:	50                   	push   %eax
adf088:	e8 07 0a 96 ff       	call   0x43fa94
adf08d:	85 c0                	test   %eax,%eax
adf08f:	74 4a                	je     0xadf0db
adf091:	6a 5f                	push   $0x5f
adf093:	53                   	push   %ebx
adf094:	e8 a1 5c 93 ff       	call   0x414d3a
adf099:	59                   	pop    %ecx
adf09a:	59                   	pop    %ecx
adf09b:	85 c0                	test   %eax,%eax
adf09d:	75 0e                	jne    0xadf0ad
adf09f:	6a 2e                	push   $0x2e
adf0a1:	53                   	push   %ebx
adf0a2:	e8 93 5c 93 ff       	call   0x414d3a
adf0a7:	59                   	pop    %ecx
adf0a8:	59                   	pop    %ecx
adf0a9:	85 c0                	test   %eax,%eax
adf0ab:	74 15                	je     0xadf0c2
adf0ad:	6a 40                	push   $0x40
adf0af:	53                   	push   %ebx
adf0b0:	6a 07                	push   $0x7
adf0b2:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
adf0b8:	50                   	push   %eax
adf0b9:	e8 d6 09 96 ff       	call   0x43fa94
adf0be:	85 c0                	test   %eax,%eax
adf0c0:	74 19                	je     0xadf0db
adf0c2:	6a 0a                	push   $0xa
adf0c4:	6a 10                	push   $0x10
adf0c6:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
adf0cc:	50                   	push   %eax
adf0cd:	56                   	push   %esi
adf0ce:	e8 f9 86 95 ff       	call   0x4377cc
adf0d3:	83 c4 10             	add    $0x10,%esp
adf0d6:	33 c0                	xor    %eax,%eax
adf0d8:	40                   	inc    %eax
adf0d9:	eb 02                	jmp    0xadf0dd
adf0db:	33 c0                	xor    %eax,%eax
adf0dd:	5f                   	pop    %edi
adf0de:	5e                   	pop    %esi
adf0df:	5b                   	pop    %ebx
adf0e0:	8b e5                	mov    %ebp,%esp
adf0e2:	5d                   	pop    %ebp
adf0e3:	c3                   	ret
adf0e4:	33 c0                	xor    %eax,%eax
adf0e6:	50                   	push   %eax
adf0e7:	50                   	push   %eax
adf0e8:	50                   	push   %eax
adf0e9:	50                   	push   %eax
adf0ea:	50                   	push   %eax
adf0eb:	e8 68 73 95 ff       	call   0x436458
adf0f0:	cc                   	int3
adf0f1:	cc                   	int3
adf0f2:	cc                   	int3
adf0f3:	cc                   	int3
adf0f4:	cc                   	int3
adf0f5:	cc                   	int3
adf0f6:	cc                   	int3
adf0f7:	cc                   	int3
adf0f8:	cc                   	int3
adf0f9:	cc                   	int3
adf0fa:	cc                   	int3
adf0fb:	cc                   	int3
adf0fc:	cc                   	int3
adf0fd:	cc                   	int3
adf0fe:	cc                   	int3
adf0ff:	cc                   	int3
adf100:	cc                   	int3
adf101:	cc                   	int3
adf102:	cc                   	int3
adf103:	cc                   	int3