89603b:	8b 7d 8c             	mov    -0x74(%ebp),%edi
89603e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896041:	57                   	push   %edi
896042:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
896048:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
89604e:	e8 e9 93 b9 ff       	call   0x42f43c
896053:	57                   	push   %edi
896054:	8d 4b 03             	lea    0x3(%ebx),%ecx
896057:	51                   	push   %ecx
896058:	50                   	push   %eax
896059:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
89605c:	e8 db 93 b9 ff       	call   0x42f43c
896061:	57                   	push   %edi
896062:	56                   	push   %esi
896063:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
896069:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
89606c:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
896072:	e8 03 f4 b6 ff       	call   0x40547a
896077:	57                   	push   %edi
896078:	8d 4e fe             	lea    -0x2(%esi),%ecx
89607b:	51                   	push   %ecx
89607c:	50                   	push   %eax
89607d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896080:	e8 f5 f3 b6 ff       	call   0x40547a
896085:	8b 7d 18             	mov    0x18(%ebp),%edi
896088:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
89608e:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
896091:	8d 47 ff             	lea    -0x1(%edi),%eax
896094:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
89609a:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
8960a0:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
8960a6:	3b c8                	cmp    %eax,%ecx
8960a8:	0f 8c 1c ff ff ff    	jl     0x895fca
8960ae:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
8960b4:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
8960b7:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
8960bd:	8b 55 8c             	mov    -0x74(%ebp),%edx
8960c0:	ff 75 18             	push   0x18(%ebp)
8960c3:	8d 42 02             	lea    0x2(%edx),%eax
8960c6:	50                   	push   %eax
8960c7:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
8960cd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
8960d0:	e8 67 93 b9 ff       	call   0x42f43c
8960d5:	ff 75 18             	push   0x18(%ebp)
8960d8:	8d 46 fe             	lea    -0x2(%esi),%eax
8960db:	50                   	push   %eax
8960dc:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
8960e2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
8960e5:	e8 90 f3 b6 ff       	call   0x40547a
8960ea:	8b 45 e0             	mov    -0x20(%ebp),%eax
8960ed:	33 c9                	xor    %ecx,%ecx
8960ef:	6a 08                	push   $0x8
8960f1:	5a                   	pop    %edx
8960f2:	f7 e2                	mul    %edx
8960f4:	0f 90 c1             	seto   %cl
8960f7:	f7 d9                	neg    %ecx
8960f9:	0b c8                	or     %eax,%ecx
8960fb:	51                   	push   %ecx
8960fc:	e8 96 f6 b9 ff       	call   0x435797
896101:	8b 75 d8             	mov    -0x28(%ebp),%esi
896104:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
89610a:	59                   	pop    %ecx
89610b:	85 f6                	test   %esi,%esi
89610d:	74 32                	je     0x896141
89610f:	8d 50 04             	lea    0x4(%eax),%edx
896112:	8d 0e                	lea    (%esi),%ecx
896114:	8b 36                	mov    (%esi),%esi
896116:	8b 41 08             	mov    0x8(%ecx),%eax
896119:	89 42 fc             	mov    %eax,-0x4(%edx)
89611c:	8b 41 0c             	mov    0xc(%ecx),%eax
89611f:	89 02                	mov    %eax,(%edx)
896121:	83 bf 90 00 00 00 01 	cmpl   $0x1,0x90(%edi)
896128:	75 0a                	jne    0x896134
89612a:	8b 45 10             	mov    0x10(%ebp),%eax
89612d:	2b 02                	sub    (%edx),%eax
89612f:	03 45 18             	add    0x18(%ebp),%eax
896132:	89 02                	mov    %eax,(%edx)
896134:	83 c2 08             	add    $0x8,%edx
896137:	85 f6                	test   %esi,%esi
896139:	75 d7                	jne    0x896112
89613b:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
896141:	83 a5 0c ff ff ff 00 	andl   $0x0,-0xf4(%ebp)
896148:	c7 85 08 ff ff ff 2c 	movl   $0xc3872c,-0xf8(%ebp)
89614f:	87 c3 00
896152:	6a 02                	push   $0x2
896154:	ff 75 e0             	push   -0x20(%ebp)
896157:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
89615b:	50                   	push   %eax
89615c:	ff 15 64 32 d8 00    	call   *0xd83264
896162:	50                   	push   %eax
896163:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
896169:	e8 04 04 b8 ff       	call   0x416572
89616e:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
896174:	8b cb                	mov    %ebx,%ecx
896176:	50                   	push   %eax
896177:	e8 3a 64 b9 ff       	call   0x42c5b6
89617c:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
896182:	83 f8 ff             	cmp    $0xffffffff,%eax
896185:	75 08                	jne    0x89618f
896187:	e8 aa 21 b8 ff       	call   0x418336
89618c:	8b 40 1c             	mov    0x1c(%eax),%eax
89618f:	50                   	push   %eax
896190:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
896196:	e8 4f 08 b9 ff       	call   0x4269ea
89619b:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
8961a1:	8d 75 0c             	lea    0xc(%ebp),%esi
8961a4:	57                   	push   %edi
8961a5:	ff 75 20             	push   0x20(%ebp)
8961a8:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
8961ac:	8b 01                	mov    (%ecx),%eax
8961ae:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
8961b4:	ff 75 1c             	push   0x1c(%ebp)
8961b7:	51                   	push   %ecx
8961b8:	83 ec 10             	sub    $0x10,%esp
8961bb:	8b fc                	mov    %esp,%edi
8961bd:	53                   	push   %ebx
8961be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c2:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
8961c8:	8b ce                	mov    %esi,%ecx
8961ca:	e8 96 64 b9 ff       	call   0x42c665
8961cf:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
8961d5:	ff d6                	call   *%esi
8961d7:	6a 00                	push   $0x0
8961d9:	8b cb                	mov    %ebx,%ecx
8961db:	e8 d6 63 b9 ff       	call   0x42c5b6
8961e0:	e8 51 21 b8 ff       	call   0x418336
8961e5:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
8961eb:	ff 70 58             	push   0x58(%eax)
8961ee:	6a 01                	push   $0x1
8961f0:	6a 00                	push   $0x0
8961f2:	e8 b8 2e b9 ff       	call   0x4290af
8961f7:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
8961fd:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
896201:	50                   	push   %eax
896202:	8b cb                	mov    %ebx,%ecx
896204:	e8 23 07 b9 ff       	call   0x42692c
896209:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
89620f:	33 c0                	xor    %eax,%eax
896211:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
896217:	39 45 e0             	cmp    %eax,-0x20(%ebp)
89621a:	0f 8e b4 00 00 00    	jle    0x8962d4
896220:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
896226:	83 c6 fc             	add    $0xfffffffc,%esi
896229:	a8 01                	test   $0x1,%al
89622b:	0f 84 90 00 00 00    	je     0x8962c1
896231:	8b 46 fc             	mov    -0x4(%esi),%eax
896234:	8b 7e 04             	mov    0x4(%esi),%edi
896237:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
89623d:	8b 06                	mov    (%esi),%eax
89623f:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
896245:	8b 46 08             	mov    0x8(%esi),%eax
896248:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
89624e:	8b 45 14             	mov    0x14(%ebp),%eax
896251:	03 45 0c             	add    0xc(%ebp),%eax
896254:	99                   	cltd
896255:	2b c2                	sub    %edx,%eax
896257:	8b c8                	mov    %eax,%ecx
896259:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
89625f:	d1 f9                	sar    $1,%ecx
896261:	3b c1                	cmp    %ecx,%eax
896263:	7e 0c                	jle    0x896271
896265:	3b f9                	cmp    %ecx,%edi
896267:	7e 08                	jle    0x896271
896269:	48                   	dec    %eax
89626a:	4f                   	dec    %edi
89626b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
896271:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
896277:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
89627d:	3b d1                	cmp    %ecx,%edx
89627f:	7c 16                	jl     0x896297
896281:	51                   	push   %ecx
896282:	50                   	push   %eax
896283:	8d 45 88             	lea    -0x78(%ebp),%eax
896286:	8b cb                	mov    %ebx,%ecx
896288:	50                   	push   %eax
896289:	e8 4e 01 b9 ff       	call   0x4263dc
89628e:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
896294:	57                   	push   %edi
896295:	eb 1d                	jmp    0x8962b4
896297:	52                   	push   %edx
896298:	57                   	push   %edi
896299:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
89629f:	8b cb                	mov    %ebx,%ecx
8962a1:	50                   	push   %eax
8962a2:	e8 35 01 b9 ff       	call   0x4263dc
8962a7:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
8962ad:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
8962b3:	50                   	push   %eax
8962b4:	8b cb                	mov    %ebx,%ecx
8962b6:	e8 23 e8 b6 ff       	call   0x404ade
8962bb:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
8962c1:	40                   	inc    %eax
8962c2:	83 c6 08             	add    $0x8,%esi
8962c5:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
8962cb:	3b 45 e0             	cmp    -0x20(%ebp),%eax
8962ce:	0f 8c 55 ff ff ff    	jl     0x896229
8962d4:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
8962da:	e8 33 83 ba ff       	call   0x43e612
8962df:	59                   	pop    %ecx
8962e0:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
8962e6:	8b cb                	mov    %ebx,%ecx
8962e8:	e8 3f 06 b9 ff       	call   0x42692c
8962ed:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
8962f3:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
8962f9:	89 45 0c             	mov    %eax,0xc(%ebp)
8962fc:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
896302:	89 45 14             	mov    %eax,0x14(%ebp)
896305:	c7 85 58 ff ff ff a4 	movl   $0xc3a7a4,-0xa8(%ebp)
89630c:	a7 c3 00
89630f:	e8 24 2b ba ff       	call   0x438e38
896314:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
89631a:	c7 85 20 ff ff ff dc 	movl   $0xc3a7dc,-0xe0(%ebp)
896321:	a7 c3 00
896324:	e8 0f 2b ba ff       	call   0x438e38
896329:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
89632f:	c7 85 08 ff ff ff 2c 	movl   $0xc3872c,-0xf8(%ebp)
896336:	87 c3 00
896339:	e8 fa 2a ba ff       	call   0x438e38
89633e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896341:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
896348:	c7 45 d4 d4 4c c4 00 	movl   $0xc44cd4,-0x2c(%ebp)
89634f:	e8 59 7e ba ff       	call   0x43e1ad
896354:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
896358:	e9 8d 0a 00 00       	jmp    0x896dea
89635d:	33 c0                	xor    %eax,%eax
89635f:	c7 85 f8 fe ff ff 2c 	movl   $0xc3872c,-0x108(%ebp)
896366:	87 c3 00
896369:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
89636f:	89 45 80             	mov    %eax,-0x80(%ebp)
896372:	8d 4d 80             	lea    -0x80(%ebp),%ecx
896375:	89 45 84             	mov    %eax,-0x7c(%ebp)
896378:	89 45 88             	mov    %eax,-0x78(%ebp)
89637b:	89 45 8c             	mov    %eax,-0x74(%ebp)
89637e:	8b 07                	mov    (%edi),%eax
896380:	51                   	push   %ecx
896381:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
896388:	8b b0 80 01 00 00    	mov    0x180(%eax),%esi
89638e:	8b ce                	mov    %esi,%ecx
896390:	e8 d0 62 b9 ff       	call   0x42c665
896395:	8b cf                	mov    %edi,%ecx
896397:	ff d6                	call   *%esi
896399:	8b 07                	mov    (%edi),%eax
89639b:	83 a5 38 ff ff ff 00 	andl   $0x0,-0xc8(%ebp)
8963a2:	8b b0 88 02 00 00    	mov    0x288(%eax),%esi
8963a8:	8b ce                	mov    %esi,%ecx
8963aa:	e8 b6 62 b9 ff       	call   0x42c665
8963af:	8b cf                	mov    %edi,%ecx
8963b1:	ff d6                	call   *%esi
8963b3:	85 c0                	test   %eax,%eax
8963b5:	0f 85 85 00 00 00    	jne    0x896440
8963bb:	8b 07                	mov    (%edi),%eax
8963bd:	8b b0 8c 02 00 00    	mov    0x28c(%eax),%esi
8963c3:	8b ce                	mov    %esi,%ecx
8963c5:	e8 9b 62 b9 ff       	call   0x42c665
8963ca:	8b cf                	mov    %edi,%ecx
8963cc:	ff d6                	call   *%esi
8963ce:	85 c0                	test   %eax,%eax
8963d0:	75 6e                	jne    0x896440
8963d2:	21 85 1c ff ff ff    	and    %eax,-0xe4(%ebp)
8963d8:	33 c9                	xor    %ecx,%ecx
8963da:	8b 45 0c             	mov    0xc(%ebp),%eax
8963dd:	83 c0 0a             	add    $0xa,%eax
8963e0:	03 c1                	add    %ecx,%eax
8963e2:	3b 45 88             	cmp    -0x78(%ebp),%eax
8963e5:	0f 8f 60 0b 00 00    	jg     0x896f4b
8963eb:	8b 45 14             	mov    0x14(%ebp),%eax
8963ee:	83 c0 f6             	add    $0xfffffff6,%eax
8963f1:	3b 45 80             	cmp    -0x80(%ebp),%eax
8963f4:	0f 8e 51 0b 00 00    	jle    0x896f4b
8963fa:	8b 07                	mov    (%edi),%eax
8963fc:	8b b0 8c 02 00 00    	mov    0x28c(%eax),%esi
896402:	8b ce                	mov    %esi,%ecx
896404:	e8 5c 62 b9 ff       	call   0x42c665
896409:	8b cf                	mov    %edi,%ecx
89640b:	ff d6                	call   *%esi
89640d:	8b 75 20             	mov    0x20(%ebp),%esi
896410:	8b 95 1c ff ff ff    	mov    -0xe4(%ebp),%edx
896416:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
89641c:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
896422:	85 f6                	test   %esi,%esi
896424:	74 61                	je     0x896487
896426:	85 d2                	test   %edx,%edx
896428:	75 5d                	jne    0x896487
89642a:	83 f8 ff             	cmp    $0xffffffff,%eax
89642d:	75 70                	jne    0x89649f
89642f:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
896435:	39 51 74             	cmp    %edx,0x74(%ecx)
896438:	0f 84 59 03 00 00    	je     0x896797
89643e:	eb 4d                	jmp    0x89648d
896440:	ff 75 1c             	push   0x1c(%ebp)
896443:	8b cf                	mov    %edi,%ecx
896445:	c7 85 1c ff ff ff 01 	movl   $0x1,-0xe4(%ebp)
89644c:	00 00 00
89644f:	e8 70 54 b8 ff       	call   0x41b8c4
896454:	85 c0                	test   %eax,%eax
896456:	75 80                	jne    0x8963d8
896458:	39 45 20             	cmp    %eax,0x20(%ebp)
89645b:	0f 85 77 ff ff ff    	jne    0x8963d8
896461:	8b 07                	mov    (%edi),%eax
896463:	8b b0 8c 02 00 00    	mov    0x28c(%eax),%esi
896469:	8b ce                	mov    %esi,%ecx
89646b:	e8 f5 61 b9 ff       	call   0x42c665
896470:	8b cf                	mov    %edi,%ecx
896472:	ff d6                	call   *%esi
896474:	85 c0                	test   %eax,%eax
896476:	0f 85 5c ff ff ff    	jne    0x8963d8
89647c:	8b 4d 18             	mov    0x18(%ebp),%ecx
89647f:	2b 4d 10             	sub    0x10(%ebp),%ecx
896482:	e9 53 ff ff ff       	jmp    0x8963da
896487:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
89648d:	83 f8 ff             	cmp    $0xffffffff,%eax
896490:	75 0d                	jne    0x89649f
896492:	85 d2                	test   %edx,%edx
896494:	75 09                	jne    0x89649f
896496:	39 51 74             	cmp    %edx,0x74(%ecx)
896499:	0f 84 f8 02 00 00    	je     0x896797
89649f:	83 a5 0c ff ff ff 00 	andl   $0x0,-0xf4(%ebp)
8964a6:	c7 85 08 ff ff ff 2c 	movl   $0xc3872c,-0xf8(%ebp)
8964ad:	87 c3 00
8964b0:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
8964b4:	83 f8 ff             	cmp    $0xffffffff,%eax
8964b7:	75 08                	jne    0x8964c1
8964b9:	e8 78 1e b8 ff       	call   0x418336
8964be:	8b 40 1c             	mov    0x1c(%eax),%eax
8964c1:	50                   	push   %eax
8964c2:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
8964c8:	e8 1d 05 b9 ff       	call   0x4269ea
8964cd:	83 bd 1c ff ff ff 00 	cmpl   $0x0,-0xe4(%ebp)
8964d4:	8d 75 0c             	lea    0xc(%ebp),%esi
8964d7:	8d bd 70 ff ff ff    	lea    -0x90(%ebp),%edi
8964dd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8964de:	6a 08                	push   $0x8
8964e0:	58                   	pop    %eax
8964e1:	88 45 fc             	mov    %al,-0x4(%ebp)
8964e4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8964e5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8964e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8964e7:	0f 84 ba 00 00 00    	je     0x8965a7
8964ed:	8b 7d 18             	mov    0x18(%ebp),%edi
8964f0:	8b d7                	mov    %edi,%edx
8964f2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
8964f5:	8b 75 10             	mov    0x10(%ebp),%esi
8964f8:	2b d6                	sub    %esi,%edx
8964fa:	89 4d 90             	mov    %ecx,-0x70(%ebp)
8964fd:	89 4d 98             	mov    %ecx,-0x68(%ebp)
896500:	8d 41 02             	lea    0x2(%ecx),%eax
896503:	89 75 b4             	mov    %esi,-0x4c(%ebp)