80ef10:	56                   	push   %esi
80ef11:	8b 74 24 10          	mov    0x10(%esp),%esi
80ef15:	56                   	push   %esi
80ef16:	ff 74 24 0c          	push   0xc(%esp)
80ef1a:	e8 67 53 c0 ff       	call   0x414286
80ef1f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
80ef23:	8d 46 04             	lea    0x4(%esi),%eax
80ef26:	50                   	push   %eax
80ef27:	8b c1                	mov    %ecx,%eax
80ef29:	c1 f8 1f             	sar    $0x1f,%eax
80ef2c:	51                   	push   %ecx
80ef2d:	e8 54 53 c0 ff       	call   0x414286
80ef32:	83 c4 10             	add    $0x10,%esp
80ef35:	5e                   	pop    %esi
80ef36:	c3                   	ret
80ef37:	cc                   	int3
80ef38:	cc                   	int3
80ef39:	cc                   	int3
80ef3a:	cc                   	int3
80ef3b:	cc                   	int3
80ef3c:	cc                   	int3
80ef3d:	cc                   	int3
80ef3e:	cc                   	int3
80ef3f:	cc                   	int3
80ef40:	81 ec bc 00 00 00    	sub    $0xbc,%esp
80ef46:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
80ef4b:	33 c4                	xor    %esp,%eax
80ef4d:	89 84 24 b8 00 00 00 	mov    %eax,0xb8(%esp)
80ef54:	8b 84 24 c4 00 00 00 	mov    0xc4(%esp),%eax
80ef5b:	53                   	push   %ebx
80ef5c:	8b 9c 24 cc 00 00 00 	mov    0xcc(%esp),%ebx
80ef63:	55                   	push   %ebp
80ef64:	8b ac 24 d8 00 00 00 	mov    0xd8(%esp),%ebp
80ef6b:	56                   	push   %esi
80ef6c:	8b b4 24 cc 00 00 00 	mov    0xcc(%esp),%esi
80ef73:	89 44 24 10          	mov    %eax,0x10(%esp)
80ef77:	8b 84 24 d8 00 00 00 	mov    0xd8(%esp),%eax
80ef7e:	57                   	push   %edi
80ef7f:	8b bc 24 e4 00 00 00 	mov    0xe4(%esp),%edi
80ef86:	89 44 24 1c          	mov    %eax,0x1c(%esp)
80ef8a:	8b 84 24 e8 00 00 00 	mov    0xe8(%esp),%eax
80ef91:	89 44 24 20          	mov    %eax,0x20(%esp)
80ef95:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
80ef99:	8b 84 24 ec 00 00 00 	mov    0xec(%esp),%eax
80efa0:	89 44 24 24          	mov    %eax,0x24(%esp)
80efa4:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
80efab:	00
80efac:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
80efb3:	00
80efb4:	75 07                	jne    0x80efbd
80efb6:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
80efbd:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
80efc1:	75 74                	jne    0x80f037
80efc3:	56                   	push   %esi
80efc4:	e8 15 51 bf ff       	call   0x4040de
80efc9:	83 c4 04             	add    $0x4,%esp
80efcc:	50                   	push   %eax
80efcd:	56                   	push   %esi
80efce:	e8 0b 51 bf ff       	call   0x4040de
80efd3:	83 c4 04             	add    $0x4,%esp
80efd6:	50                   	push   %eax
80efd7:	56                   	push   %esi
80efd8:	e8 01 51 bf ff       	call   0x4040de
80efdd:	83 c4 04             	add    $0x4,%esp
80efe0:	50                   	push   %eax
80efe1:	56                   	push   %esi
80efe2:	e8 f7 50 bf ff       	call   0x4040de
80efe7:	83 c4 04             	add    $0x4,%esp
80efea:	50                   	push   %eax
80efeb:	68 18 57 c3 00       	push   $0xc35718
80eff0:	8d 44 24 70          	lea    0x70(%esp),%eax
80eff4:	6a 21                	push   $0x21
80eff6:	50                   	push   %eax
80eff7:	e8 f4 d8 c0 ff       	call   0x41c8f0
80effc:	8d 4c 24 78          	lea    0x78(%esp),%ecx
80f000:	83 c4 1c             	add    $0x1c,%esp
80f003:	8d 51 01             	lea    0x1(%ecx),%edx
80f006:	8a 01                	mov    (%ecx),%al
80f008:	41                   	inc    %ecx
80f009:	84 c0                	test   %al,%al
80f00b:	75 f9                	jne    0x80f006
80f00d:	8d 44 24 18          	lea    0x18(%esp),%eax
80f011:	2b ca                	sub    %edx,%ecx
80f013:	50                   	push   %eax
80f014:	8d 44 24 14          	lea    0x14(%esp),%eax
80f018:	50                   	push   %eax
80f019:	51                   	push   %ecx
80f01a:	8d 44 24 68          	lea    0x68(%esp),%eax
80f01e:	50                   	push   %eax
80f01f:	56                   	push   %esi
80f020:	e8 b3 cd c0 ff       	call   0x41bdd8
80f025:	83 c4 14             	add    $0x14,%esp
80f028:	85 c0                	test   %eax,%eax
80f02a:	0f 85 81 02 00 00    	jne    0x80f2b1
80f030:	8b 44 24 10          	mov    0x10(%esp),%eax
80f034:	89 47 04             	mov    %eax,0x4(%edi)
80f037:	53                   	push   %ebx
80f038:	ff 77 08             	push   0x8(%edi)
80f03b:	ff 74 24 1c          	push   0x1c(%esp)
80f03f:	68 d4 57 c3 00       	push   $0xc357d4
80f044:	e8 13 7c c0 ff       	call   0x416c5c
80f049:	8b f0                	mov    %eax,%esi
80f04b:	83 c4 10             	add    $0x10,%esp
80f04e:	85 f6                	test   %esi,%esi
80f050:	75 0a                	jne    0x80f05c
80f052:	b8 1b 00 00 00       	mov    $0x1b,%eax
80f057:	e9 55 02 00 00       	jmp    0x80f2b1
80f05c:	8d 44 24 28          	lea    0x28(%esp),%eax
80f060:	56                   	push   %esi
80f061:	50                   	push   %eax
80f062:	e8 27 6b c2 ff       	call   0x435b8e
80f067:	56                   	push   %esi
80f068:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f06e:	8d 44 24 44          	lea    0x44(%esp),%eax
80f072:	50                   	push   %eax
80f073:	8d 44 24 38          	lea    0x38(%esp),%eax
80f077:	50                   	push   %eax
80f078:	e8 a3 13 00 00       	call   0x810420
80f07d:	83 c4 14             	add    $0x14,%esp
80f080:	83 7f 0c 01          	cmpl   $0x1,0xc(%edi)
80f084:	75 41                	jne    0x80f0c7
80f086:	ff 77 04             	push   0x4(%edi)
80f089:	8d 44 24 3c          	lea    0x3c(%esp),%eax
80f08d:	ff 37                	push   (%edi)
80f08f:	50                   	push   %eax
80f090:	68 d4 57 c3 00       	push   $0xc357d4
80f095:	e8 c2 7b c0 ff       	call   0x416c5c
80f09a:	8b f0                	mov    %eax,%esi
80f09c:	83 c4 10             	add    $0x10,%esp
80f09f:	85 f6                	test   %esi,%esi
80f0a1:	74 af                	je     0x80f052
80f0a3:	8d 44 24 28          	lea    0x28(%esp),%eax
80f0a7:	56                   	push   %esi
80f0a8:	50                   	push   %eax
80f0a9:	e8 e0 6a c2 ff       	call   0x435b8e
80f0ae:	56                   	push   %esi
80f0af:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f0b5:	8d 44 24 44          	lea    0x44(%esp),%eax
80f0b9:	50                   	push   %eax
80f0ba:	8d 44 24 38          	lea    0x38(%esp),%eax
80f0be:	50                   	push   %eax
80f0bf:	e8 5c 13 00 00       	call   0x810420
80f0c4:	83 c4 14             	add    $0x14,%esp
80f0c7:	55                   	push   %ebp
80f0c8:	ff 74 24 20          	push   0x20(%esp)
80f0cc:	68 f4 1d bf 00       	push   $0xbf1df4
80f0d1:	e8 86 7b c0 ff       	call   0x416c5c
80f0d6:	8b d8                	mov    %eax,%ebx
80f0d8:	83 c4 0c             	add    $0xc,%esp
80f0db:	8b 47 18             	mov    0x18(%edi),%eax
80f0de:	85 c0                	test   %eax,%eax
80f0e0:	74 30                	je     0x80f112
80f0e2:	68 a8 56 c3 00       	push   $0xc356a8
80f0e7:	50                   	push   %eax
80f0e8:	e8 ae 07 c3 ff       	call   0x43f89b
80f0ed:	83 c4 08             	add    $0x8,%esp
80f0f0:	85 c0                	test   %eax,%eax
80f0f2:	74 1e                	je     0x80f112
80f0f4:	68 e0 57 c3 00       	push   $0xc357e0
80f0f9:	53                   	push   %ebx
80f0fa:	68 f4 1d bf 00       	push   $0xbf1df4
80f0ff:	e8 58 7b c0 ff       	call   0x416c5c
80f104:	53                   	push   %ebx
80f105:	8b f0                	mov    %eax,%esi
80f107:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f10d:	83 c4 10             	add    $0x10,%esp
80f110:	8b de                	mov    %esi,%ebx
80f112:	85 db                	test   %ebx,%ebx
80f114:	0f 84 38 ff ff ff    	je     0x80f052
80f11a:	8d 44 24 28          	lea    0x28(%esp),%eax
80f11e:	53                   	push   %ebx
80f11f:	50                   	push   %eax
80f120:	e8 69 6a c2 ff       	call   0x435b8e
80f125:	53                   	push   %ebx
80f126:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f12c:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
80f133:	50                   	push   %eax
80f134:	8d 44 24 38          	lea    0x38(%esp),%eax
80f138:	50                   	push   %eax
80f139:	e8 e2 12 00 00       	call   0x810420
80f13e:	8b 47 18             	mov    0x18(%edi),%eax
80f141:	83 c4 14             	add    $0x14,%esp
80f144:	85 c0                	test   %eax,%eax
80f146:	74 25                	je     0x80f16d
80f148:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
80f14f:	51                   	push   %ecx
80f150:	50                   	push   %eax
80f151:	ff 77 04             	push   0x4(%edi)
80f154:	8d 44 24 44          	lea    0x44(%esp),%eax
80f158:	ff 77 20             	push   0x20(%edi)
80f15b:	ff 37                	push   (%edi)
80f15d:	50                   	push   %eax
80f15e:	68 08 58 c3 00       	push   $0xc35808
80f163:	e8 f4 7a c0 ff       	call   0x416c5c
80f168:	83 c4 1c             	add    $0x1c,%esp
80f16b:	eb 1c                	jmp    0x80f189
80f16d:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
80f174:	50                   	push   %eax
80f175:	ff 37                	push   (%edi)
80f177:	8d 44 24 40          	lea    0x40(%esp),%eax
80f17b:	50                   	push   %eax
80f17c:	68 d4 57 c3 00       	push   $0xc357d4
80f181:	e8 d6 7a c0 ff       	call   0x416c5c
80f186:	83 c4 10             	add    $0x10,%esp
80f189:	8b f0                	mov    %eax,%esi
80f18b:	85 f6                	test   %esi,%esi
80f18d:	0f 84 bf fe ff ff    	je     0x80f052
80f193:	8d 44 24 28          	lea    0x28(%esp),%eax
80f197:	56                   	push   %esi
80f198:	50                   	push   %eax
80f199:	e8 f0 69 c2 ff       	call   0x435b8e
80f19e:	56                   	push   %esi
80f19f:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f1a5:	8d 84 24 b0 00 00 00 	lea    0xb0(%esp),%eax
80f1ac:	50                   	push   %eax
80f1ad:	8d 44 24 38          	lea    0x38(%esp),%eax
80f1b1:	50                   	push   %eax
80f1b2:	e8 69 12 00 00       	call   0x810420
80f1b7:	ff 74 24 28          	push   0x28(%esp)
80f1bb:	e8 a0 12 00 00       	call   0x810460
80f1c0:	8b d8                	mov    %eax,%ebx
80f1c2:	83 c4 18             	add    $0x18,%esp
80f1c5:	85 db                	test   %ebx,%ebx
80f1c7:	0f 84 85 fe ff ff    	je     0x80f052
80f1cd:	8b 47 18             	mov    0x18(%edi),%eax
80f1d0:	85 c0                	test   %eax,%eax
80f1d2:	74 3b                	je     0x80f20f
80f1d4:	8d 8c 24 a4 00 00 00 	lea    0xa4(%esp),%ecx
80f1db:	51                   	push   %ecx
80f1dc:	50                   	push   %eax
80f1dd:	ff 77 20             	push   0x20(%edi)
80f1e0:	ff 77 04             	push   0x4(%edi)
80f1e3:	55                   	push   %ebp
80f1e4:	ff 37                	push   (%edi)
80f1e6:	ff 77 08             	push   0x8(%edi)
80f1e9:	53                   	push   %ebx
80f1ea:	68 20 58 c3 00       	push   $0xc35820
80f1ef:	e8 68 7a c0 ff       	call   0x416c5c
80f1f4:	68 a0 56 c3 00       	push   $0xc356a0
80f1f9:	ff 77 18             	push   0x18(%edi)
80f1fc:	8b f0                	mov    %eax,%esi
80f1fe:	e8 98 06 c3 ff       	call   0x43f89b
80f203:	83 c4 2c             	add    $0x2c,%esp
80f206:	85 c0                	test   %eax,%eax
80f208:	74 23                	je     0x80f22d
80f20a:	ff 47 20             	incl   0x20(%edi)
80f20d:	eb 1e                	jmp    0x80f22d
80f20f:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
80f216:	50                   	push   %eax
80f217:	55                   	push   %ebp
80f218:	ff 37                	push   (%edi)
80f21a:	ff 77 08             	push   0x8(%edi)
80f21d:	53                   	push   %ebx
80f21e:	68 90 58 c3 00       	push   $0xc35890
80f223:	e8 34 7a c0 ff       	call   0x416c5c
80f228:	83 c4 18             	add    $0x18,%esp
80f22b:	8b f0                	mov    %eax,%esi
80f22d:	53                   	push   %ebx
80f22e:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f234:	83 c4 04             	add    $0x4,%esp
80f237:	85 f6                	test   %esi,%esi
80f239:	0f 84 13 fe ff ff    	je     0x80f052
80f23f:	8b 47 14             	mov    0x14(%edi),%eax
80f242:	85 c0                	test   %eax,%eax
80f244:	74 22                	je     0x80f268
80f246:	50                   	push   %eax
80f247:	56                   	push   %esi
80f248:	68 dc 58 c3 00       	push   $0xc358dc
80f24d:	e8 0a 7a c0 ff       	call   0x416c5c
80f252:	56                   	push   %esi
80f253:	8b d8                	mov    %eax,%ebx
80f255:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f25b:	83 c4 10             	add    $0x10,%esp
80f25e:	85 db                	test   %ebx,%ebx
80f260:	0f 84 ec fd ff ff    	je     0x80f052
80f266:	8b f3                	mov    %ebx,%esi
80f268:	8b 47 1c             	mov    0x1c(%edi),%eax
80f26b:	85 c0                	test   %eax,%eax
80f26d:	74 22                	je     0x80f291
80f26f:	50                   	push   %eax
80f270:	56                   	push   %esi
80f271:	68 f0 58 c3 00       	push   $0xc358f0
80f276:	e8 e1 79 c0 ff       	call   0x416c5c
80f27b:	56                   	push   %esi
80f27c:	8b f8                	mov    %eax,%edi
80f27e:	ff 15 04 e2 d5 00    	call   *0xd5e204
80f284:	83 c4 10             	add    $0x10,%esp
80f287:	85 ff                	test   %edi,%edi
80f289:	0f 84 c3 fd ff ff    	je     0x80f052
80f28f:	8b f7                	mov    %edi,%esi
80f291:	8b 44 24 20          	mov    0x20(%esp),%eax
80f295:	8d 4e 01             	lea    0x1(%esi),%ecx
80f298:	89 30                	mov    %esi,(%eax)
80f29a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
80f2a0:	8a 06                	mov    (%esi),%al
80f2a2:	46                   	inc    %esi
80f2a3:	84 c0                	test   %al,%al
80f2a5:	75 f9                	jne    0x80f2a0
80f2a7:	8b 44 24 24          	mov    0x24(%esp),%eax
80f2ab:	2b f1                	sub    %ecx,%esi
80f2ad:	89 30                	mov    %esi,(%eax)
80f2af:	33 c0                	xor    %eax,%eax
80f2b1:	8b 8c 24 c8 00 00 00 	mov    0xc8(%esp),%ecx
80f2b8:	5f                   	pop    %edi
80f2b9:	5e                   	pop    %esi
80f2ba:	5d                   	pop    %ebp
80f2bb:	5b                   	pop    %ebx
80f2bc:	33 cc                	xor    %esp,%ecx
80f2be:	e8 f3 c4 c0 ff       	call   0x41b7b6
80f2c3:	81 c4 bc 00 00 00    	add    $0xbc,%esp
80f2c9:	c3                   	ret
80f2ca:	cc                   	int3
80f2cb:	cc                   	int3
80f2cc:	cc                   	int3
80f2cd:	cc                   	int3
80f2ce:	cc                   	int3
80f2cf:	cc                   	int3
80f2d0:	cc                   	int3
80f2d1:	cc                   	int3
80f2d2:	cc                   	int3
80f2d3:	cc                   	int3
80f2d4:	cc                   	int3
80f2d5:	cc                   	int3
80f2d6:	cc                   	int3
80f2d7:	cc                   	int3
80f2d8:	cc                   	int3
80f2d9:	cc                   	int3
80f2da:	cc                   	int3
80f2db:	cc                   	int3
80f2dc:	cc                   	int3
80f2dd:	cc                   	int3
80f2de:	cc                   	int3
80f2df:	cc                   	int3
80f2e0:	cc                   	int3
80f2e1:	cc                   	int3
80f2e2:	cc                   	int3
80f2e3:	cc                   	int3
80f2e4:	cc                   	int3
80f2e5:	cc                   	int3
80f2e6:	cc                   	int3
80f2e7:	cc                   	int3
80f2e8:	cc                   	int3
80f2e9:	cc                   	int3
80f2ea:	cc                   	int3
80f2eb:	cc                   	int3
80f2ec:	cc                   	int3
80f2ed:	cc                   	int3
80f2ee:	cc                   	int3
80f2ef:	cc                   	int3
80f2f0:	cc                   	int3