425150:	e8 55 cb fe ff       	call   0x411caa
425155:	8b f8                	mov    %eax,%edi
425157:	85 ff                	test   %edi,%edi
425159:	79 0a                	jns    0x425165
42515b:	68 e0 24 45 00       	push   $0x4524e0
425160:	e9 2e ff ff ff       	jmp    0x425093
425165:	8b 45 fc             	mov    -0x4(%ebp),%eax
425168:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
42516e:	8b 45 fc             	mov    -0x4(%ebp),%eax
425171:	89 58 08             	mov    %ebx,0x8(%eax)
425174:	8b 45 fc             	mov    -0x4(%ebp),%eax
425177:	8b 4b 5c             	mov    0x5c(%ebx),%ecx
42517a:	89 48 18             	mov    %ecx,0x18(%eax)
42517d:	8b 75 fc             	mov    -0x4(%ebp),%esi
425180:	ff 76 18             	push   0x18(%esi)
425183:	ff 75 08             	push   0x8(%ebp)
425186:	ff b3 b0 00 00 00    	push   0xb0(%ebx)
42518c:	e8 8b e5 ff ff       	call   0x42371c
425191:	8b 4d f8             	mov    -0x8(%ebp),%ecx
425194:	89 46 14             	mov    %eax,0x14(%esi)
425197:	33 f6                	xor    %esi,%esi
425199:	8b 45 fc             	mov    -0x4(%ebp),%eax
42519c:	89 75 f8             	mov    %esi,-0x8(%ebp)
42519f:	89 48 1c             	mov    %ecx,0x1c(%eax)
4251a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4251a5:	83 c0 0c             	add    $0xc,%eax
4251a8:	50                   	push   %eax
4251a9:	ff 75 18             	push   0x18(%ebp)
4251ac:	ff 75 14             	push   0x14(%ebp)
4251af:	56                   	push   %esi
4251b0:	56                   	push   %esi
4251b1:	53                   	push   %ebx
4251b2:	e8 03 f1 fe ff       	call   0x4142ba
4251b7:	8b 45 14             	mov    0x14(%ebp),%eax
4251ba:	8b 48 08             	mov    0x8(%eax),%ecx
4251bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4251c0:	89 48 10             	mov    %ecx,0x10(%eax)
4251c3:	39 b3 d4 00 00 00    	cmp    %esi,0xd4(%ebx)
4251c9:	76 1d                	jbe    0x4251e8
4251cb:	ff 73 60             	push   0x60(%ebx)
4251ce:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
4251d4:	ff 73 5c             	push   0x5c(%ebx)
4251d7:	ff 34 b0             	push   (%eax,%esi,4)
4251da:	e8 8a 15 00 00       	call   0x426769
4251df:	46                   	inc    %esi
4251e0:	3b b3 d4 00 00 00    	cmp    0xd4(%ebx),%esi
4251e6:	72 e3                	jb     0x4251cb
4251e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4251eb:	85 c0                	test   %eax,%eax
4251ed:	74 06                	je     0x4251f5
4251ef:	50                   	push   %eax
4251f0:	e8 a4 e7 fd ff       	call   0x403999
4251f5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4251f8:	85 c0                	test   %eax,%eax
4251fa:	74 06                	je     0x425202
4251fc:	50                   	push   %eax
4251fd:	e8 97 e7 fd ff       	call   0x403999
425202:	8b c7                	mov    %edi,%eax
425204:	5f                   	pop    %edi
425205:	5e                   	pop    %esi
425206:	5b                   	pop    %ebx
425207:	8b e5                	mov    %ebp,%esp
425209:	5d                   	pop    %ebp
42520a:	c2 1c 00             	ret    $0x1c
42520d:	55                   	push   %ebp
42520e:	8b ec                	mov    %esp,%ebp
425210:	83 ec 3c             	sub    $0x3c,%esp
425213:	53                   	push   %ebx
425214:	8b 5d 08             	mov    0x8(%ebp),%ebx
425217:	56                   	push   %esi
425218:	33 f6                	xor    %esi,%esi
42521a:	57                   	push   %edi
42521b:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
425221:	8b fe                	mov    %esi,%edi
425223:	8b 93 9c 00 00 00    	mov    0x9c(%ebx),%edx
425229:	89 45 c4             	mov    %eax,-0x3c(%ebp)
42522c:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
425232:	89 45 c8             	mov    %eax,-0x38(%ebp)
425235:	8b 83 ac 00 00 00    	mov    0xac(%ebx),%eax
42523b:	89 45 cc             	mov    %eax,-0x34(%ebp)
42523e:	8b 83 c0 00 00 00    	mov    0xc0(%ebx),%eax
425244:	89 75 f0             	mov    %esi,-0x10(%ebp)
425247:	89 55 d8             	mov    %edx,-0x28(%ebp)
42524a:	89 7d dc             	mov    %edi,-0x24(%ebp)
42524d:	89 75 d4             	mov    %esi,-0x2c(%ebp)
425250:	85 c0                	test   %eax,%eax
425252:	0f 84 80 01 00 00    	je     0x4253d8
425258:	83 7b 40 03          	cmpl   $0x3,0x40(%ebx)
42525c:	7e 0d                	jle    0x42526b
42525e:	83 7b 50 05          	cmpl   $0x5,0x50(%ebx)
425262:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
425269:	74 03                	je     0x42526e
42526b:	89 75 ec             	mov    %esi,-0x14(%ebp)
42526e:	ff 33                	push   (%ebx)
425270:	50                   	push   %eax
425271:	68 cc 00 00 20       	push   $0x200000cc
425276:	6a 02                	push   $0x2
425278:	e8 92 02 fe ff       	call   0x40550f
42527d:	83 c4 10             	add    $0x10,%esp
425280:	89 75 e4             	mov    %esi,-0x1c(%ebp)
425283:	39 b3 c0 00 00 00    	cmp    %esi,0xc0(%ebx)
425289:	0f 86 46 01 00 00    	jbe    0x4253d5
42528f:	8b ce                	mov    %esi,%ecx
425291:	89 75 e0             	mov    %esi,-0x20(%ebp)
425294:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
42529a:	03 c1                	add    %ecx,%eax
42529c:	89 75 f8             	mov    %esi,-0x8(%ebp)
42529f:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4252a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4252a5:	51                   	push   %ecx
4252a6:	89 75 f4             	mov    %esi,-0xc(%ebp)
4252a9:	ff 70 0c             	push   0xc(%eax)
4252ac:	89 75 f0             	mov    %esi,-0x10(%ebp)
4252af:	ff 70 08             	push   0x8(%eax)
4252b2:	ff 70 04             	push   0x4(%eax)
4252b5:	ff 75 0c             	push   0xc(%ebp)
4252b8:	e8 d1 dd ff ff       	call   0x42308e
4252bd:	8b f8                	mov    %eax,%edi
4252bf:	85 ff                	test   %edi,%edi
4252c1:	0f 88 94 01 00 00    	js     0x42545b
4252c7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4252ca:	50                   	push   %eax
4252cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4252ce:	ff 70 18             	push   0x18(%eax)
4252d1:	ff 70 14             	push   0x14(%eax)
4252d4:	ff 70 10             	push   0x10(%eax)
4252d7:	ff 75 0c             	push   0xc(%ebp)
4252da:	e8 af dd ff ff       	call   0x42308e
4252df:	8b f8                	mov    %eax,%edi
4252e1:	85 ff                	test   %edi,%edi
4252e3:	0f 88 6b 01 00 00    	js     0x425454
4252e9:	8b 7d 10             	mov    0x10(%ebp),%edi
4252ec:	8d 55 f8             	lea    -0x8(%ebp),%edx
4252ef:	8b 45 f4             	mov    -0xc(%ebp),%eax
4252f2:	52                   	push   %edx
4252f3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4252f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4252f9:	8b 47 10             	mov    0x10(%edi),%eax
4252fc:	ff 32                	push   (%edx)
4252fe:	ff 33                	push   (%ebx)
425300:	8b 08                	mov    (%eax),%ecx
425302:	50                   	push   %eax
425303:	ff 51 60             	call   *0x60(%ecx)
425306:	50                   	push   %eax
425307:	6a 01                	push   $0x1
425309:	57                   	push   %edi
42530a:	e8 7c 82 fe ff       	call   0x40d58b
42530f:	8b f8                	mov    %eax,%edi
425311:	85 ff                	test   %edi,%edi
425313:	0f 88 24 01 00 00    	js     0x42543d
425319:	8b 45 fc             	mov    -0x4(%ebp),%eax
42531c:	8d 55 dc             	lea    -0x24(%ebp),%edx
42531f:	52                   	push   %edx
425320:	8d 48 20             	lea    0x20(%eax),%ecx
425323:	51                   	push   %ecx
425324:	ff 75 ec             	push   -0x14(%ebp)
425327:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42532a:	ff 75 f8             	push   -0x8(%ebp)
42532d:	ff 70 1c             	push   0x1c(%eax)
425330:	e8 40 d7 ff ff       	call   0x422a75
425335:	8b f8                	mov    %eax,%edi
425337:	85 ff                	test   %edi,%edi
425339:	0f 88 f7 00 00 00    	js     0x425436
42533f:	8b 45 e8             	mov    -0x18(%ebp),%eax
425342:	8b 55 fc             	mov    -0x4(%ebp),%edx
425345:	39 30                	cmp    %esi,(%eax)
425347:	8b 45 f0             	mov    -0x10(%ebp),%eax
42534a:	74 03                	je     0x42534f
42534c:	8b 42 1c             	mov    0x1c(%edx),%eax
42534f:	8d 4a 24             	lea    0x24(%edx),%ecx
425352:	8d 55 d4             	lea    -0x2c(%ebp),%edx
425355:	89 4d d0             	mov    %ecx,-0x30(%ebp)
425358:	52                   	push   %edx
425359:	51                   	push   %ecx
42535a:	56                   	push   %esi
42535b:	50                   	push   %eax
42535c:	ff 75 f8             	push   -0x8(%ebp)
42535f:	e8 11 d7 ff ff       	call   0x422a75
425364:	8b f8                	mov    %eax,%edi
425366:	89 7d f0             	mov    %edi,-0x10(%ebp)
425369:	85 ff                	test   %edi,%edi
42536b:	0f 88 be 00 00 00    	js     0x42542f
425371:	8b 45 d0             	mov    -0x30(%ebp),%eax
425374:	ff 30                	push   (%eax)
425376:	e8 c6 e9 fe ff       	call   0x413d41
42537b:	50                   	push   %eax
42537c:	8b 45 e8             	mov    -0x18(%ebp),%eax
42537f:	ff 30                	push   (%eax)
425381:	e8 bb e9 fe ff       	call   0x413d41
425386:	50                   	push   %eax
425387:	ff 75 f8             	push   -0x8(%ebp)
42538a:	e8 15 ea fe ff       	call   0x413da4
42538f:	50                   	push   %eax
425390:	ff 75 f4             	push   -0xc(%ebp)
425393:	e8 0c ea fe ff       	call   0x413da4
425398:	8b 7d fc             	mov    -0x4(%ebp),%edi
42539b:	50                   	push   %eax
42539c:	ff 77 1c             	push   0x1c(%edi)
42539f:	e8 00 ea fe ff       	call   0x413da4
4253a4:	50                   	push   %eax
4253a5:	ff 37                	push   (%edi)
4253a7:	68 cb 00 00 20       	push   $0x200000cb
4253ac:	6a 02                	push   $0x2
4253ae:	e8 5c 01 fe ff       	call   0x40550f
4253b3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4253b6:	83 c4 20             	add    $0x20,%esp
4253b9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4253bc:	40                   	inc    %eax
4253bd:	83 c1 28             	add    $0x28,%ecx
4253c0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4253c3:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4253c6:	3b 83 c0 00 00 00    	cmp    0xc0(%ebx),%eax
4253cc:	0f 82 c2 fe ff ff    	jb     0x425294
4253d2:	8b 7d dc             	mov    -0x24(%ebp),%edi
4253d5:	8b 55 d8             	mov    -0x28(%ebp),%edx
4253d8:	8b 4b 40             	mov    0x40(%ebx),%ecx
4253db:	8b c1                	mov    %ecx,%eax
4253dd:	83 e8 01             	sub    $0x1,%eax
4253e0:	0f 84 01 01 00 00    	je     0x4254e7
4253e6:	83 e8 01             	sub    $0x1,%eax
4253e9:	0f 84 f8 00 00 00    	je     0x4254e7
4253ef:	83 e8 01             	sub    $0x1,%eax
4253f2:	0f 84 d3 00 00 00    	je     0x4254cb
4253f8:	83 e8 01             	sub    $0x1,%eax
4253fb:	74 70                	je     0x42546d
4253fd:	83 e8 01             	sub    $0x1,%eax
425400:	74 6b                	je     0x42546d
425402:	be 57 00 07 80       	mov    $0x80070057,%esi
425407:	56                   	push   %esi
425408:	68 1f 03 00 00       	push   $0x31f
42540d:	68 58 b7 45 00       	push   $0x45b758
425412:	8b fe                	mov    %esi,%edi
425414:	e8 ba e3 fd ff       	call   0x4037d3
425419:	ff 73 40             	push   0x40(%ebx)
42541c:	68 10 bf 45 00       	push   $0x45bf10
425421:	56                   	push   %esi
425422:	e8 08 ad 01 00       	call   0x44012f
425427:	83 c4 0c             	add    $0xc,%esp
42542a:	e9 5c 01 00 00       	jmp    0x42558b
42542f:	68 e0 be 45 00       	push   $0x45bee0
425434:	eb 2a                	jmp    0x425460
425436:	68 b4 be 45 00       	push   $0x45beb4
42543b:	eb 23                	jmp    0x425460
42543d:	57                   	push   %edi
42543e:	68 c8 02 00 00       	push   $0x2c8
425443:	68 58 b7 45 00       	push   $0x45b758
425448:	e8 86 e3 fd ff       	call   0x4037d3
42544d:	68 94 be 45 00       	push   $0x45be94
425452:	eb 0c                	jmp    0x425460
425454:	68 64 be 45 00       	push   $0x45be64
425459:	eb 05                	jmp    0x425460
42545b:	68 34 be 45 00       	push   $0x45be34
425460:	57                   	push   %edi
425461:	e8 c9 ac 01 00       	call   0x44012f
425466:	59                   	pop    %ecx
425467:	59                   	pop    %ecx
425468:	e9 1e 01 00 00       	jmp    0x42558b
42546d:	8b 43 50             	mov    0x50(%ebx),%eax
425470:	83 f8 04             	cmp    $0x4,%eax
425473:	74 2e                	je     0x4254a3
425475:	83 f8 05             	cmp    $0x5,%eax
425478:	74 29                	je     0x4254a3
42547a:	83 f8 02             	cmp    $0x2,%eax
42547d:	74 05                	je     0x425484
42547f:	83 f8 03             	cmp    $0x3,%eax
425482:	75 0c                	jne    0x425490
425484:	39 73 18             	cmp    %esi,0x18(%ebx)
425487:	74 07                	je     0x425490
425489:	33 ff                	xor    %edi,%edi
42548b:	47                   	inc    %edi
42548c:	8b d6                	mov    %esi,%edx
42548e:	eb 6f                	jmp    0x4254ff
425490:	8b d6                	mov    %esi,%edx
425492:	83 f8 01             	cmp    $0x1,%eax
425495:	75 05                	jne    0x42549c
425497:	33 ff                	xor    %edi,%edi
425499:	47                   	inc    %edi
42549a:	eb 63                	jmp    0x4254ff
42549c:	8b fe                	mov    %esi,%edi
42549e:	e9 d6 00 00 00       	jmp    0x425579
4254a3:	3b 55 cc             	cmp    -0x34(%ebp),%edx
4254a6:	72 0f                	jb     0x4254b7
4254a8:	77 08                	ja     0x4254b2
4254aa:	8b 55 c8             	mov    -0x38(%ebp),%edx
4254ad:	39 55 c4             	cmp    %edx,-0x3c(%ebp)
4254b0:	76 05                	jbe    0x4254b7
4254b2:	6a 06                	push   $0x6
4254b4:	5f                   	pop    %edi
4254b5:	eb d5                	jmp    0x42548c
4254b7:	8b d6                	mov    %esi,%edx
4254b9:	83 f8 05             	cmp    $0x5,%eax
4254bc:	75 04                	jne    0x4254c2
4254be:	50                   	push   %eax
4254bf:	5f                   	pop    %edi
4254c0:	eb 3d                	jmp    0x4254ff
4254c2:	f7 df                	neg    %edi
4254c4:	1b ff                	sbb    %edi,%edi
4254c6:	83 e7 04             	and    $0x4,%edi
4254c9:	eb 30                	jmp    0x4254fb
4254cb:	8b 43 50             	mov    0x50(%ebx),%eax
4254ce:	8b d0                	mov    %eax,%edx
4254d0:	83 ea 04             	sub    $0x4,%edx
4254d3:	74 0e                	je     0x4254e3
4254d5:	83 ea 01             	sub    $0x1,%edx
4254d8:	74 09                	je     0x4254e3
4254da:	8b fe                	mov    %esi,%edi
4254dc:	8b d6                	mov    %esi,%edx
4254de:	e9 96 00 00 00       	jmp    0x425579
4254e3:	6a 02                	push   $0x2
4254e5:	eb cd                	jmp    0x4254b4
4254e7:	8b 43 50             	mov    0x50(%ebx),%eax
4254ea:	8b d0                	mov    %eax,%edx
4254ec:	83 ea 03             	sub    $0x3,%edx
4254ef:	74 05                	je     0x4254f6
4254f1:	83 ea 01             	sub    $0x1,%edx
4254f4:	eb dd                	jmp    0x4254d3
4254f6:	33 d2                	xor    %edx,%edx
4254f8:	8b fe                	mov    %esi,%edi
4254fa:	42                   	inc    %edx
4254fb:	85 ff                	test   %edi,%edi
4254fd:	74 7a                	je     0x425579
4254ff:	39 73 48             	cmp    %esi,0x48(%ebx)
425502:	0f 45 4b 48          	cmovne 0x48(%ebx),%ecx
425506:	83 e9 01             	sub    $0x1,%ecx
425509:	74 5c                	je     0x425567
42550b:	83 e9 01             	sub    $0x1,%ecx
42550e:	74 57                	je     0x425567
425510:	83 e9 01             	sub    $0x1,%ecx
425513:	74 52                	je     0x425567
425515:	83 e9 01             	sub    $0x1,%ecx
425518:	74 27                	je     0x425541
42551a:	83 e9 01             	sub    $0x1,%ecx
42551d:	74 22                	je     0x425541
42551f:	be 57 00 07 80       	mov    $0x80070057,%esi
425524:	56                   	push   %esi
425525:	68 4d 03 00 00       	push   $0x34d
42552a:	68 58 b7 45 00       	push   $0x45b758
42552f:	8b fe                	mov    %esi,%edi
425531:	e8 9d e2 fd ff       	call   0x4037d3
425536:	68 54 bf 45 00       	push   $0x45bf54
42553b:	56                   	push   %esi
42553c:	e9 20 ff ff ff       	jmp    0x425461
425541:	83 e8 01             	sub    $0x1,%eax
425544:	74 1c                	je     0x425562
425546:	83 e8 01             	sub    $0x1,%eax
425549:	74 17                	je     0x425562
42554b:	48                   	dec    %eax
42554c:	83 e8 01             	sub    $0x1,%eax
42554f:	74 05                	je     0x425556
425551:	83 e8 01             	sub    $0x1,%eax