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
61e21a:	50                   	push   %eax
61e21b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
61e21f:	e8 57 d0 ff ff       	call   0x61b27b
61e224:	ff 75 e8             	push   -0x18(%ebp)
61e227:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
61e22a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
61e22e:	ff 75 ec             	push   -0x14(%ebp)
61e231:	e8 fe b1 00 00       	call   0x629434
61e236:	ff 75 d4             	push   -0x2c(%ebp)
61e239:	8d 4d d0             	lea    -0x30(%ebp),%ecx
61e23c:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
61e243:	ff 75 d8             	push   -0x28(%ebp)
61e246:	e8 e9 b1 00 00       	call   0x629434
61e24b:	8b 45 14             	mov    0x14(%ebp),%eax
61e24e:	83 78 10 01          	cmpl   $0x1,0x10(%eax)
61e252:	75 08                	jne    0x61e25c
61e254:	8b 4d 0c             	mov    0xc(%ebp),%ecx
61e257:	e8 4d 12 00 00       	call   0x61f4a9
61e25c:	e8 34 3d fc ff       	call   0x5e1f95
61e261:	c3                   	ret
61e262:	cc                   	int3
61e263:	cc                   	int3
61e264:	cc                   	int3
61e265:	cc                   	int3
61e266:	cc                   	int3
61e267:	cc                   	int3
61e268:	cc                   	int3
61e269:	cc                   	int3
61e26a:	cc                   	int3
61e26b:	cc                   	int3
61e26c:	cc                   	int3
61e26d:	cc                   	int3
61e26e:	cc                   	int3
61e26f:	cc                   	int3
61e270:	55                   	push   %ebp
61e271:	8b ec                	mov    %esp,%ebp
61e273:	56                   	push   %esi
61e274:	57                   	push   %edi
61e275:	ff 75 0c             	push   0xc(%ebp)
61e278:	8b f9                	mov    %ecx,%edi
61e27a:	8b 37                	mov    (%edi),%esi
61e27c:	ff 56 40             	call   *0x40(%esi)
61e27f:	50                   	push   %eax
61e280:	ff 75 08             	push   0x8(%ebp)
61e283:	8b cf                	mov    %edi,%ecx
61e285:	ff 56 3c             	call   *0x3c(%esi)
61e288:	5f                   	pop    %edi
61e289:	5e                   	pop    %esi
61e28a:	5d                   	pop    %ebp
61e28b:	c2 08 00             	ret    $0x8
61e28e:	55                   	push   %ebp
61e28f:	8b ec                	mov    %esp,%ebp
61e291:	53                   	push   %ebx
61e292:	56                   	push   %esi
61e293:	8b 75 18             	mov    0x18(%ebp),%esi
61e296:	57                   	push   %edi
61e297:	8b 7d 08             	mov    0x8(%ebp),%edi
61e29a:	56                   	push   %esi
61e29b:	ff 75 0c             	push   0xc(%ebp)
61e29e:	57                   	push   %edi
61e29f:	e8 65 fa ff ff       	call   0x61dd09
61e2a4:	8b 5d 10             	mov    0x10(%ebp),%ebx
61e2a7:	83 c4 0c             	add    $0xc,%esp
61e2aa:	eb 3e                	jmp    0x61e2ea
61e2ac:	4b                   	dec    %ebx
61e2ad:	f6 07 01             	testb  $0x1,(%edi)
61e2b0:	75 0e                	jne    0x61e2c0
61e2b2:	6a 01                	push   $0x1
61e2b4:	56                   	push   %esi
61e2b5:	57                   	push   %edi
61e2b6:	e8 c9 ab 00 00       	call   0x628e84
61e2bb:	83 c4 0c             	add    $0xc,%esp
61e2be:	eb 2a                	jmp    0x61e2ea
61e2c0:	ff 75 14             	push   0x14(%ebp)
61e2c3:	8b d7                	mov    %edi,%edx
61e2c5:	8b ce                	mov    %esi,%ecx
61e2c7:	57                   	push   %edi
61e2c8:	ff 15 a4 93 72 00    	call   *0x7293a4
61e2ce:	6a 01                	push   $0x1
61e2d0:	ff 75 18             	push   0x18(%ebp)
61e2d3:	8b f0                	mov    %eax,%esi
61e2d5:	57                   	push   %edi
61e2d6:	e8 a9 ab 00 00       	call   0x628e84
61e2db:	8b 45 18             	mov    0x18(%ebp),%eax
61e2de:	83 c4 0c             	add    $0xc,%esp
61e2e1:	c1 e6 1f             	shl    $0x1f,%esi
61e2e4:	01 74 87 fc          	add    %esi,-0x4(%edi,%eax,4)
61e2e8:	8b f0                	mov    %eax,%esi
61e2ea:	85 db                	test   %ebx,%ebx
61e2ec:	75 be                	jne    0x61e2ac
61e2ee:	5f                   	pop    %edi
61e2ef:	5e                   	pop    %esi
61e2f0:	5b                   	pop    %ebx
61e2f1:	5d                   	pop    %ebp
61e2f2:	c3                   	ret
61e2f3:	6a 18                	push   $0x18
61e2f5:	b8 b7 2a 66 00       	mov    $0x662ab7,%eax
61e2fa:	e8 bc 3c fc ff       	call   0x5e1fbb
61e2ff:	8b f1                	mov    %ecx,%esi
61e301:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61e305:	8d 4d dc             	lea    -0x24(%ebp),%ecx
61e308:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
61e30c:	e8 4f cb ff ff       	call   0x61ae60
61e311:	8b 4d 08             	mov    0x8(%ebp),%ecx
61e314:	33 ff                	xor    %edi,%edi
61e316:	47                   	inc    %edi
61e317:	89 7d fc             	mov    %edi,-0x4(%ebp)
61e31a:	e8 41 cb ff ff       	call   0x61ae60
61e31f:	ff 75 0c             	push   0xc(%ebp)
61e322:	8d 45 dc             	lea    -0x24(%ebp),%eax
61e325:	89 7d f0             	mov    %edi,-0x10(%ebp)
61e328:	56                   	push   %esi
61e329:	ff 75 08             	push   0x8(%ebp)
61e32c:	50                   	push   %eax
61e32d:	e8 82 fe ff ff       	call   0x61e1b4
61e332:	83 c4 10             	add    $0x10,%esp
61e335:	ff 75 e4             	push   -0x1c(%ebp)
61e338:	8d 4d e0             	lea    -0x20(%ebp),%ecx
61e33b:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
61e342:	ff 75 e8             	push   -0x18(%ebp)
61e345:	e8 ea b0 00 00       	call   0x629434
61e34a:	8b 45 08             	mov    0x8(%ebp),%eax
61e34d:	e8 43 3c fc ff       	call   0x5e1f95
61e352:	c2 08 00             	ret    $0x8
61e355:	cc                   	int3
61e356:	cc                   	int3
61e357:	cc                   	int3
61e358:	cc                   	int3
61e359:	cc                   	int3
61e35a:	cc                   	int3
61e35b:	cc                   	int3
61e35c:	cc                   	int3
61e35d:	cc                   	int3
61e35e:	cc                   	int3
61e35f:	cc                   	int3
61e360:	55                   	push   %ebp
61e361:	8b ec                	mov    %esp,%ebp
61e363:	ff 75 14             	push   0x14(%ebp)
61e366:	ff 75 10             	push   0x10(%ebp)
61e369:	ff 75 0c             	push   0xc(%ebp)
61e36c:	ff 75 08             	push   0x8(%ebp)
61e36f:	e8 40 fe ff ff       	call   0x61e1b4
61e374:	83 c4 10             	add    $0x10,%esp
61e377:	5d                   	pop    %ebp
61e378:	c2 10 00             	ret    $0x10
61e37b:	cc                   	int3
61e37c:	cc                   	int3
61e37d:	cc                   	int3
61e37e:	cc                   	int3
61e37f:	cc                   	int3
61e380:	6a 14                	push   $0x14
61e382:	b8 ae 28 66 00       	mov    $0x6628ae,%eax
61e387:	e8 2f 3c fc ff       	call   0x5e1fbb
61e38c:	8b f1                	mov    %ecx,%esi
61e38e:	8b 4d 08             	mov    0x8(%ebp),%ecx
61e391:	8d 45 e0             	lea    -0x20(%ebp),%eax
61e394:	50                   	push   %eax
61e395:	e8 62 00 00 00       	call   0x61e3fc
61e39a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61e39e:	8d 4e 20             	lea    0x20(%esi),%ecx
61e3a1:	50                   	push   %eax
61e3a2:	e8 d4 ce ff ff       	call   0x61b27b
61e3a7:	8b f0                	mov    %eax,%esi
61e3a9:	ff 75 e8             	push   -0x18(%ebp)
61e3ac:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
61e3af:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
61e3b6:	ff 75 ec             	push   -0x14(%ebp)
61e3b9:	e8 76 b0 00 00       	call   0x629434
61e3be:	8b c6                	mov    %esi,%eax
61e3c0:	e8 d0 3b fc ff       	call   0x5e1f95
61e3c5:	c2 04 00             	ret    $0x4
61e3c8:	cc                   	int3
61e3c9:	cc                   	int3
61e3ca:	cc                   	int3
61e3cb:	cc                   	int3