61de88:	50                   	push   %eax
61de89:	e8 a8 20 00 00       	call   0x61ff36
61de8e:	59                   	pop    %ecx
61de8f:	50                   	push   %eax
61de90:	8d 4b 04             	lea    0x4(%ebx),%ecx
61de93:	e8 43 fc ff ff       	call   0x61dadb
61de98:	85 ff                	test   %edi,%edi
61de9a:	74 3c                	je     0x61ded8
61de9c:	8d 47 ff             	lea    -0x1(%edi),%eax
61de9f:	89 7d 10             	mov    %edi,0x10(%ebp)
61dea2:	89 45 f8             	mov    %eax,-0x8(%ebp)
61dea5:	8b f8                	mov    %eax,%edi
61dea7:	8b 06                	mov    (%esi),%eax
61dea9:	8d 4d ff             	lea    -0x1(%ebp),%ecx
61deac:	51                   	push   %ecx
61dead:	8b ce                	mov    %esi,%ecx
61deaf:	ff 50 48             	call   *0x48(%eax)
61deb2:	8b 53 0c             	mov    0xc(%ebx),%edx
61deb5:	8b cf                	mov    %edi,%ecx
61deb7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
61debb:	8b f7                	mov    %edi,%esi
61debd:	c1 ee 02             	shr    $0x2,%esi
61dec0:	83 e1 03             	and    $0x3,%ecx
61dec3:	c1 e1 03             	shl    $0x3,%ecx
61dec6:	d3 e0                	shl    %cl,%eax
61dec8:	09 04 b2             	or     %eax,(%edx,%esi,4)
61decb:	4f                   	dec    %edi
61decc:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
61ded0:	8b 75 08             	mov    0x8(%ebp),%esi
61ded3:	75 d2                	jne    0x61dea7
61ded5:	8b 7d 0c             	mov    0xc(%ebp),%edi
61ded8:	83 7b 10 01          	cmpl   $0x1,0x10(%ebx)
61dedc:	75 34                	jne    0x61df12
61dede:	eb 1b                	jmp    0x61defb
61dee0:	8b 53 0c             	mov    0xc(%ebx),%edx
61dee3:	8b cf                	mov    %edi,%ecx
61dee5:	8b f7                	mov    %edi,%esi
61dee7:	83 e1 03             	and    $0x3,%ecx
61deea:	c1 ee 02             	shr    $0x2,%esi
61deed:	b8 ff 00 00 00       	mov    $0xff,%eax
61def2:	c1 e1 03             	shl    $0x3,%ecx
61def5:	d3 e0                	shl    %cl,%eax
61def7:	09 04 b2             	or     %eax,(%edx,%esi,4)
61defa:	47                   	inc    %edi
61defb:	8b 43 08             	mov    0x8(%ebx),%eax
61defe:	c1 e0 02             	shl    $0x2,%eax
61df01:	3b f8                	cmp    %eax,%edi
61df03:	72 db                	jb     0x61dee0
61df05:	ff 73 08             	push   0x8(%ebx)
61df08:	ff 73 0c             	push   0xc(%ebx)
61df0b:	e8 9f b3 00 00       	call   0x6292af
61df10:	59                   	pop    %ecx
61df11:	59                   	pop    %ecx
61df12:	5f                   	pop    %edi
61df13:	5e                   	pop    %esi
61df14:	5b                   	pop    %ebx
61df15:	8b e5                	mov    %ebp,%esp
61df17:	5d                   	pop    %ebp
61df18:	c2 0c 00             	ret    $0xc
61df1b:	55                   	push   %ebp
61df1c:	8b ec                	mov    %esp,%ebp
61df1e:	83 ec 24             	sub    $0x24,%esp
61df21:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61df26:	33 c5                	xor    %ebp,%eax
61df28:	89 45 fc             	mov    %eax,-0x4(%ebp)
61df2b:	8b 45 08             	mov    0x8(%ebp),%eax
61df2e:	56                   	push   %esi
61df2f:	8b 75 0c             	mov    0xc(%ebp),%esi
61df32:	57                   	push   %edi
61df33:	56                   	push   %esi
61df34:	8b f9                	mov    %ecx,%edi
61df36:	8d 4d dc             	lea    -0x24(%ebp),%ecx
61df39:	50                   	push   %eax
61df3a:	e8 08 d1 ff ff       	call   0x61b047
61df3f:	ff 75 10             	push   0x10(%ebp)
61df42:	8d 45 dc             	lea    -0x24(%ebp),%eax
61df45:	8b cf                	mov    %edi,%ecx
61df47:	56                   	push   %esi
61df48:	50                   	push   %eax
61df49:	e8 c1 fe ff ff       	call   0x61de0f
61df4e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
61df51:	5f                   	pop    %edi
61df52:	33 cd                	xor    %ebp,%ecx
61df54:	5e                   	pop    %esi
61df55:	e8 80 35 fc ff       	call   0x5e14da
61df5a:	8b e5                	mov    %ebp,%esp
61df5c:	5d                   	pop    %ebp
61df5d:	c2 0c 00             	ret    $0xc
61df60:	55                   	push   %ebp
61df61:	8b ec                	mov    %esp,%ebp
61df63:	56                   	push   %esi
61df64:	8b 75 08             	mov    0x8(%ebp),%esi
61df67:	8b 0e                	mov    (%esi),%ecx
61df69:	8b c1                	mov    %ecx,%eax
61df6b:	2b 45 10             	sub    0x10(%ebp),%eax
61df6e:	89 06                	mov    %eax,(%esi)
61df70:	3b c1                	cmp    %ecx,%eax
61df72:	77 04                	ja     0x61df78
61df74:	33 c0                	xor    %eax,%eax
61df76:	eb 1e                	jmp    0x61df96
61df78:	33 d2                	xor    %edx,%edx
61df7a:	42                   	inc    %edx
61df7b:	39 55 0c             	cmp    %edx,0xc(%ebp)
61df7e:	76 13                	jbe    0x61df93
61df80:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
61df83:	8d 41 ff             	lea    -0x1(%ecx),%eax
61df86:	89 04 96             	mov    %eax,(%esi,%edx,4)
61df89:	85 c9                	test   %ecx,%ecx
61df8b:	75 e7                	jne    0x61df74
61df8d:	42                   	inc    %edx
61df8e:	3b 55 0c             	cmp    0xc(%ebp),%edx
61df91:	72 ed                	jb     0x61df80
61df93:	33 c0                	xor    %eax,%eax
61df95:	40                   	inc    %eax
61df96:	5e                   	pop    %esi
61df97:	5d                   	pop    %ebp
61df98:	c3                   	ret
61df99:	cc                   	int3
61df9a:	cc                   	int3
61df9b:	cc                   	int3
61df9c:	cc                   	int3
61df9d:	cc                   	int3
61df9e:	cc                   	int3
61df9f:	cc                   	int3
61dfa0:	6a 14                	push   $0x14
61dfa2:	b8 ae 28 66 00       	mov    $0x6628ae,%eax
61dfa7:	e8 0f 40 fc ff       	call   0x5e1fbb
61dfac:	8b f1                	mov    %ecx,%esi
61dfae:	ff 75 0c             	push   0xc(%ebp)
61dfb1:	8d 45 e0             	lea    -0x20(%ebp),%eax
61dfb4:	ff 75 08             	push   0x8(%ebp)
61dfb7:	50                   	push   %eax
61dfb8:	e8 d1 d4 ff ff       	call   0x61b48e
61dfbd:	83 c4 0c             	add    $0xc,%esp
61dfc0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61dfc4:	8d 4e 20             	lea    0x20(%esi),%ecx
61dfc7:	50                   	push   %eax
61dfc8:	e8 ae d2 ff ff       	call   0x61b27b
61dfcd:	8b f0                	mov    %eax,%esi
61dfcf:	ff 75 e8             	push   -0x18(%ebp)
61dfd2:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
61dfd5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
61dfdc:	ff 75 ec             	push   -0x14(%ebp)
61dfdf:	e8 50 b4 00 00       	call   0x629434
61dfe4:	8b c6                	mov    %esi,%eax
61dfe6:	e8 aa 3f fc ff       	call   0x5e1f95
61dfeb:	c2 08 00             	ret    $0x8
61dfee:	55                   	push   %ebp
61dfef:	8b ec                	mov    %esp,%ebp
61dff1:	83 ec 38             	sub    $0x38,%esp
61dff4:	8b 45 18             	mov    0x18(%ebp),%eax
61dff7:	53                   	push   %ebx
61dff8:	56                   	push   %esi
61dff9:	8b 75 20             	mov    0x20(%ebp),%esi
61dffc:	33 db                	xor    %ebx,%ebx
61dffe:	8d 48 02             	lea    0x2(%eax),%ecx
61e001:	83 c0 02             	add    $0x2,%eax
61e004:	57                   	push   %edi
61e005:	8b 7d 10             	mov    0x10(%ebp),%edi
61e008:	03 c6                	add    %esi,%eax
61e00a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
61e00d:	8d 14 8f             	lea    (%edi,%ecx,4),%edx
61e010:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
61e013:	8d 04 87             	lea    (%edi,%eax,4),%eax
61e016:	89 55 10             	mov    %edx,0x10(%ebp)
61e019:	89 45 f4             	mov    %eax,-0xc(%ebp)
61e01c:	8d 46 ff             	lea    -0x1(%esi),%eax
61e01f:	8d 04 82             	lea    (%edx,%eax,4),%eax
61e022:	39 5c b1 fc          	cmp    %ebx,-0x4(%ecx,%esi,4)
61e026:	89 45 20             	mov    %eax,0x20(%ebp)
61e029:	0f 94 c3             	sete   %bl
61e02c:	83 20 00             	andl   $0x0,(%eax)
61e02f:	83 22 00             	andl   $0x0,(%edx)
61e032:	8b c6                	mov    %esi,%eax
61e034:	2b c3                	sub    %ebx,%eax
61e036:	50                   	push   %eax
61e037:	51                   	push   %ecx
61e038:	8d 04 9a             	lea    (%edx,%ebx,4),%eax
61e03b:	50                   	push   %eax
61e03c:	e8 c8 fc ff ff       	call   0x61dd09
61e041:	ff 75 20             	push   0x20(%ebp)
61e044:	e8 a5 51 ff ff       	call   0x6131ee
61e049:	6a 20                	push   $0x20
61e04b:	59                   	pop    %ecx
61e04c:	2b c8                	sub    %eax,%ecx
61e04e:	51                   	push   %ecx
61e04f:	56                   	push   %esi
61e050:	ff 75 10             	push   0x10(%ebp)
61e053:	89 4d 1c             	mov    %ecx,0x1c(%ebp)
61e056:	e8 9e ad 00 00       	call   0x628df9
61e05b:	8b 45 18             	mov    0x18(%ebp),%eax
61e05e:	33 c9                	xor    %ecx,%ecx
61e060:	89 4c 87 04          	mov    %ecx,0x4(%edi,%eax,4)
61e064:	89 0c 87             	mov    %ecx,(%edi,%eax,4)
61e067:	8d 04 9f             	lea    (%edi,%ebx,4),%eax
61e06a:	8b 5d 18             	mov    0x18(%ebp),%ebx
61e06d:	53                   	push   %ebx
61e06e:	ff 75 14             	push   0x14(%ebp)
61e071:	89 0f                	mov    %ecx,(%edi)
61e073:	50                   	push   %eax
61e074:	89 45 f0             	mov    %eax,-0x10(%ebp)
61e077:	e8 8d fc ff ff       	call   0x61dd09
61e07c:	ff 75 1c             	push   0x1c(%ebp)
61e07f:	ff 75 fc             	push   -0x4(%ebp)
61e082:	57                   	push   %edi
61e083:	e8 71 ad 00 00       	call   0x628df9
61e088:	83 c4 34             	add    $0x34,%esp
61e08b:	83 7c 9f 04 00       	cmpl   $0x0,0x4(%edi,%ebx,4)
61e090:	75 58                	jne    0x61e0ea
61e092:	83 3c 9f 01          	cmpl   $0x1,(%edi,%ebx,4)
61e096:	77 52                	ja     0x61e0ea
61e098:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61e09b:	8b c3                	mov    %ebx,%eax
61e09d:	2b c6                	sub    %esi,%eax
61e09f:	89 45 fc             	mov    %eax,-0x4(%ebp)
61e0a2:	83 24 81 00          	andl   $0x0,(%ecx,%eax,4)
61e0a6:	83 64 81 04 00       	andl   $0x0,0x4(%ecx,%eax,4)
61e0ab:	8d 04 87             	lea    (%edi,%eax,4),%eax
61e0ae:	89 45 18             	mov    %eax,0x18(%ebp)
61e0b1:	83 3c 9f 00          	cmpl   $0x0,(%edi,%ebx,4)
61e0b5:	75 14                	jne    0x61e0cb
61e0b7:	56                   	push   %esi
61e0b8:	ff 75 10             	push   0x10(%ebp)
61e0bb:	50                   	push   %eax
61e0bc:	e8 af fa ff ff       	call   0x61db70
61e0c1:	83 c4 0c             	add    $0xc,%esp
61e0c4:	85 c0                	test   %eax,%eax
61e0c6:	78 25                	js     0x61e0ed
61e0c8:	8b 45 18             	mov    0x18(%ebp),%eax
61e0cb:	ff 75 10             	push   0x10(%ebp)
61e0ce:	8b d0                	mov    %eax,%edx
61e0d0:	8b ce                	mov    %esi,%ecx
61e0d2:	50                   	push   %eax
61e0d3:	ff 15 a8 93 72 00    	call   *0x7293a8
61e0d9:	29 04 9f             	sub    %eax,(%edi,%ebx,4)
61e0dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
61e0df:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61e0e2:	ff 04 81             	incl   (%ecx,%eax,4)
61e0e5:	8b 45 18             	mov    0x18(%ebp),%eax
61e0e8:	eb c7                	jmp    0x61e0b1
61e0ea:	8b 5d fc             	mov    -0x4(%ebp),%ebx
61e0ed:	8b 45 10             	mov    0x10(%ebp),%eax
61e0f0:	8b 55 20             	mov    0x20(%ebp),%edx
61e0f3:	6a 00                	push   $0x0
61e0f5:	8b 4c b0 f8          	mov    -0x8(%eax,%esi,4),%ecx
61e0f9:	83 c1 01             	add    $0x1,%ecx
61e0fc:	58                   	pop    %eax
61e0fd:	0f 94 c0             	sete   %al
61e100:	03 02                	add    (%edx),%eax
61e102:	8d 53 fe             	lea    -0x2(%ebx),%edx
61e105:	3b d6                	cmp    %esi,%edx
61e107:	0f 82 85 00 00 00    	jb     0x61e192
61e10d:	8b da                	mov    %edx,%ebx
61e10f:	89 45 fc             	mov    %eax,-0x4(%ebp)
61e112:	8b 45 0c             	mov    0xc(%ebp),%eax
61e115:	2b de                	sub    %esi,%ebx
61e117:	83 c2 fe             	add    $0xfffffffe,%edx
61e11a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
61e11d:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
61e120:	d1 eb                	shr    $1,%ebx
61e122:	8d 14 97             	lea    (%edi,%edx,4),%edx
61e125:	89 4d 18             	mov    %ecx,0x18(%ebp)
61e128:	2b f8                	sub    %eax,%edi
61e12a:	89 55 20             	mov    %edx,0x20(%ebp)
61e12d:	43                   	inc    %ebx
61e12e:	8b 42 08             	mov    0x8(%edx),%eax
61e131:	89 45 e8             	mov    %eax,-0x18(%ebp)
61e134:	8b 42 0c             	mov    0xc(%edx),%eax
61e137:	89 45 ec             	mov    %eax,-0x14(%ebp)
61e13a:	8b 02                	mov    (%edx),%eax
61e13c:	89 45 e0             	mov    %eax,-0x20(%ebp)
61e13f:	8b 42 04             	mov    0x4(%edx),%eax
61e142:	89 45 e4             	mov    %eax,-0x1c(%ebp)
61e145:	8d 45 f8             	lea    -0x8(%ebp),%eax
61e148:	50                   	push   %eax
61e149:	8d 45 e8             	lea    -0x18(%ebp),%eax
61e14c:	50                   	push   %eax
61e14d:	8d 45 e0             	lea    -0x20(%ebp),%eax
61e150:	50                   	push   %eax
61e151:	8d 45 c8             	lea    -0x38(%ebp),%eax
61e154:	50                   	push   %eax
61e155:	8d 45 d8             	lea    -0x28(%ebp),%eax
61e158:	50                   	push   %eax
61e159:	e8 50 c5 ff ff       	call   0x61a6ae
61e15e:	8b 4d 18             	mov    0x18(%ebp),%ecx
61e161:	8b 45 d8             	mov    -0x28(%ebp),%eax
61e164:	56                   	push   %esi
61e165:	ff 75 10             	push   0x10(%ebp)
61e168:	89 01                	mov    %eax,(%ecx)
61e16a:	8b 45 dc             	mov    -0x24(%ebp),%eax
61e16d:	51                   	push   %ecx
61e16e:	ff 75 f4             	push   -0xc(%ebp)
61e171:	89 41 04             	mov    %eax,0x4(%ecx)
61e174:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
61e177:	50                   	push   %eax
61e178:	e8 ac fb ff ff       	call   0x61dd29
61e17d:	8b 55 20             	mov    0x20(%ebp),%edx
61e180:	83 c4 28             	add    $0x28,%esp
61e183:	83 6d 18 08          	subl   $0x8,0x18(%ebp)
61e187:	83 ea 08             	sub    $0x8,%edx
61e18a:	89 55 20             	mov    %edx,0x20(%ebp)
61e18d:	83 eb 01             	sub    $0x1,%ebx
61e190:	75 9c                	jne    0x61e12e
61e192:	56                   	push   %esi
61e193:	ff 75 f0             	push   -0x10(%ebp)
61e196:	ff 75 08             	push   0x8(%ebp)
61e199:	e8 6b fb ff ff       	call   0x61dd09
61e19e:	ff 75 1c             	push   0x1c(%ebp)
61e1a1:	56                   	push   %esi
61e1a2:	ff 75 08             	push   0x8(%ebp)
61e1a5:	e8 da ac 00 00       	call   0x628e84
61e1aa:	83 c4 18             	add    $0x18,%esp
61e1ad:	5f                   	pop    %edi
61e1ae:	5e                   	pop    %esi
61e1af:	5b                   	pop    %ebx
61e1b0:	8b e5                	mov    %ebp,%esp
61e1b2:	5d                   	pop    %ebp
61e1b3:	c3                   	ret
61e1b4:	6a 28                	push   $0x28
61e1b6:	b8 6c 2a 66 00       	mov    $0x662a6c,%eax
61e1bb:	e8 fb 3d fc ff       	call   0x5e1fbb
61e1c0:	ff 75 14             	push   0x14(%ebp)
61e1c3:	8b 75 10             	mov    0x10(%ebp),%esi
61e1c6:	56                   	push   %esi
61e1c7:	ff 75 0c             	push   0xc(%ebp)
61e1ca:	ff 75 08             	push   0x8(%ebp)
61e1cd:	e8 e0 14 00 00       	call   0x61f6b2
61e1d2:	83 c4 10             	add    $0x10,%esp
61e1d5:	83 7e 10 01          	cmpl   $0x1,0x10(%esi)
61e1d9:	75 70                	jne    0x61e24b
61e1db:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61e1de:	e8 c6 12 00 00       	call   0x61f4a9
61e1e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
61e1e6:	e8 37 d1 ff ff       	call   0x61b322
61e1eb:	84 c0                	test   %al,%al
61e1ed:	75 5c                	jne    0x61e24b
61e1ef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61e1f2:	e8 68 d1 ff ff       	call   0x61b35f
61e1f7:	8b 4d 14             	mov    0x14(%ebp),%ecx
61e1fa:	8d 45 cc             	lea    -0x34(%ebp),%eax
61e1fd:	50                   	push   %eax
61e1fe:	e8 4f d6 ff ff       	call   0x61b852
61e203:	ff 75 08             	push   0x8(%ebp)
61e206:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61e20a:	50                   	push   %eax
61e20b:	8d 45 e0             	lea    -0x20(%ebp),%eax
61e20e:	50                   	push   %eax
61e20f:	e8 d0 d1 ff ff       	call   0x61b3e4
61e214:	83 c4 0c             	add    $0xc,%esp
61e217:	8b 4d 08             	mov    0x8(%ebp),%ecx