40e19b:	ff 15 fc b1 41 00    	call   *0x41b1fc
40e1a1:	6a 0c                	push   $0xc
40e1a3:	8b f8                	mov    %eax,%edi
40e1a5:	ff 15 fc b1 41 00    	call   *0x41b1fc
40e1ab:	8b 0d 80 93 41 00    	mov    0x419380,%ecx
40e1b1:	83 e9 01             	sub    $0x1,%ecx
40e1b4:	74 67                	je     0x40e21d
40e1b6:	83 e9 01             	sub    $0x1,%ecx
40e1b9:	74 56                	je     0x40e211
40e1bb:	49                   	dec    %ecx
40e1bc:	83 e9 01             	sub    $0x1,%ecx
40e1bf:	74 44                	je     0x40e205
40e1c1:	83 e9 04             	sub    $0x4,%ecx
40e1c4:	74 33                	je     0x40e1f9
40e1c6:	83 e9 08             	sub    $0x8,%ecx
40e1c9:	74 22                	je     0x40e1ed
40e1cb:	83 e9 10             	sub    $0x10,%ecx
40e1ce:	74 11                	je     0x40e1e1
40e1d0:	83 e9 20             	sub    $0x20,%ecx
40e1d3:	75 71                	jne    0x40e246
40e1d5:	53                   	push   %ebx
40e1d6:	50                   	push   %eax
40e1d7:	57                   	push   %edi
40e1d8:	6a 01                	push   $0x1
40e1da:	68 50 01 00 00       	push   $0x150
40e1df:	eb 46                	jmp    0x40e227
40e1e1:	53                   	push   %ebx
40e1e2:	50                   	push   %eax
40e1e3:	57                   	push   %edi
40e1e4:	6a 01                	push   $0x1
40e1e6:	68 4e 01 00 00       	push   $0x14e
40e1eb:	eb 3a                	jmp    0x40e227
40e1ed:	53                   	push   %ebx
40e1ee:	50                   	push   %eax
40e1ef:	57                   	push   %edi
40e1f0:	6a 01                	push   $0x1
40e1f2:	68 4f 01 00 00       	push   $0x14f
40e1f7:	eb 2e                	jmp    0x40e227
40e1f9:	53                   	push   %ebx
40e1fa:	50                   	push   %eax
40e1fb:	57                   	push   %edi
40e1fc:	6a 01                	push   $0x1
40e1fe:	68 4a 01 00 00       	push   $0x14a
40e203:	eb 22                	jmp    0x40e227
40e205:	53                   	push   %ebx
40e206:	50                   	push   %eax
40e207:	57                   	push   %edi
40e208:	6a 01                	push   $0x1
40e20a:	68 4b 01 00 00       	push   $0x14b
40e20f:	eb 16                	jmp    0x40e227
40e211:	53                   	push   %ebx
40e212:	50                   	push   %eax
40e213:	57                   	push   %edi
40e214:	6a 01                	push   $0x1
40e216:	68 4c 01 00 00       	push   $0x14c
40e21b:	eb 0a                	jmp    0x40e227
40e21d:	53                   	push   %ebx
40e21e:	50                   	push   %eax
40e21f:	57                   	push   %edi
40e220:	6a 01                	push   $0x1
40e222:	68 4d 01 00 00       	push   $0x14d
40e227:	ff 35 18 a3 41 00    	push   0x41a318
40e22d:	ff 15 7c b2 41 00    	call   *0x41b27c
40e233:	85 c0                	test   %eax,%eax
40e235:	74 0f                	je     0x40e246
40e237:	50                   	push   %eax
40e238:	6a 01                	push   $0x1
40e23a:	68 80 00 00 00       	push   $0x80
40e23f:	56                   	push   %esi
40e240:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40e246:	5f                   	pop    %edi
40e247:	5b                   	pop    %ebx
40e248:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e24b:	33 c0                	xor    %eax,%eax
40e24d:	33 cd                	xor    %ebp,%ecx
40e24f:	5e                   	pop    %esi
40e250:	e8 8b 56 00 00       	call   0x4138e0
40e255:	c9                   	leave
40e256:	c2 0c 00             	ret    $0xc
40e259:	8b ff                	mov    %edi,%edi
40e25b:	55                   	push   %ebp
40e25c:	8b ec                	mov    %esp,%ebp
40e25e:	81 ec 30 01 00 00    	sub    $0x130,%esp
40e264:	a1 18 51 41 00       	mov    0x415118,%eax
40e269:	33 c5                	xor    %ebp,%eax
40e26b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e26e:	8b 0d 80 93 41 00    	mov    0x419380,%ecx
40e274:	8d 95 18 ff ff ff    	lea    -0xe8(%ebp),%edx
40e27a:	83 a5 18 ff ff ff 00 	andl   $0x0,-0xe8(%ebp)
40e281:	53                   	push   %ebx
40e282:	33 db                	xor    %ebx,%ebx
40e284:	6a 01                	push   $0x1
40e286:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
40e28c:	e8 2a 19 00 00       	call   0x40fbbb
40e291:	39 9d 18 ff ff ff    	cmp    %ebx,-0xe8(%ebp)
40e297:	0f 84 61 02 00 00    	je     0x40e4fe
40e29d:	8b 0d 34 57 41 00    	mov    0x415734,%ecx
40e2a3:	8b 15 18 a3 41 00    	mov    0x41a318,%edx
40e2a9:	56                   	push   %esi
40e2aa:	33 f6                	xor    %esi,%esi
40e2ac:	57                   	push   %edi
40e2ad:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
40e2b3:	8d bd 20 ff ff ff    	lea    -0xe0(%ebp),%edi
40e2b9:	83 a5 0c ff ff ff 00 	andl   $0x0,-0xf4(%ebp)
40e2c0:	8d 04 8e             	lea    (%esi,%ecx,4),%eax
40e2c3:	0f b7 04 45 20 3e 40 	movzwl 0x403e20(,%eax,2),%eax
40e2ca:	00
40e2cb:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
40e2d1:	66 85 c0             	test   %ax,%ax
40e2d4:	0f 84 45 01 00 00    	je     0x40e41f
40e2da:	8b c6                	mov    %esi,%eax
40e2dc:	83 e8 00             	sub    $0x0,%eax
40e2df:	0f 84 b4 00 00 00    	je     0x40e399
40e2e5:	83 e8 01             	sub    $0x1,%eax
40e2e8:	74 6a                	je     0x40e354
40e2ea:	83 e8 01             	sub    $0x1,%eax
40e2ed:	74 37                	je     0x40e326
40e2ef:	83 e8 01             	sub    $0x1,%eax
40e2f2:	0f 85 b8 01 00 00    	jne    0x40e4b0
40e2f8:	6a 14                	push   $0x14
40e2fa:	e8 98 50 00 00       	call   0x413397
40e2ff:	8b f0                	mov    %eax,%esi
40e301:	89 b5 10 ff ff ff    	mov    %esi,-0xf0(%ebp)
40e307:	59                   	pop    %ecx
40e308:	85 f6                	test   %esi,%esi
40e30a:	0f 84 af 00 00 00    	je     0x40e3bf
40e310:	33 c9                	xor    %ecx,%ecx
40e312:	c7 06 3c 17 40 00    	movl   $0x40173c,(%esi)
40e318:	89 4e 04             	mov    %ecx,0x4(%esi)
40e31b:	89 4e 0c             	mov    %ecx,0xc(%esi)
40e31e:	89 4e 10             	mov    %ecx,0x10(%esi)
40e321:	e9 91 00 00 00       	jmp    0x40e3b7
40e326:	6a 18                	push   $0x18
40e328:	e8 6a 50 00 00       	call   0x413397
40e32d:	8b f0                	mov    %eax,%esi
40e32f:	89 b5 10 ff ff ff    	mov    %esi,-0xf0(%ebp)
40e335:	59                   	pop    %ecx
40e336:	85 f6                	test   %esi,%esi
40e338:	0f 84 81 00 00 00    	je     0x40e3bf
40e33e:	33 c9                	xor    %ecx,%ecx
40e340:	c7 06 7c 16 40 00    	movl   $0x40167c,(%esi)
40e346:	89 4e 04             	mov    %ecx,0x4(%esi)
40e349:	89 4e 0c             	mov    %ecx,0xc(%esi)
40e34c:	89 4e 10             	mov    %ecx,0x10(%esi)
40e34f:	89 4e 14             	mov    %ecx,0x14(%esi)
40e352:	eb 63                	jmp    0x40e3b7
40e354:	68 78 24 00 00       	push   $0x2478
40e359:	e8 39 50 00 00       	call   0x413397
40e35e:	8b f0                	mov    %eax,%esi
40e360:	89 b5 10 ff ff ff    	mov    %esi,-0xf0(%ebp)
40e366:	59                   	pop    %ecx
40e367:	85 f6                	test   %esi,%esi
40e369:	74 54                	je     0x40e3bf
40e36b:	33 c9                	xor    %ecx,%ecx
40e36d:	c7 06 38 16 40 00    	movl   $0x401638,(%esi)
40e373:	33 c0                	xor    %eax,%eax
40e375:	89 4e 04             	mov    %ecx,0x4(%esi)
40e378:	68 60 24 00 00       	push   $0x2460
40e37d:	66 89 46 08          	mov    %ax,0x8(%esi)
40e381:	8d 46 18             	lea    0x18(%esi),%eax
40e384:	51                   	push   %ecx
40e385:	50                   	push   %eax
40e386:	89 4e 10             	mov    %ecx,0x10(%esi)
40e389:	89 4e 0c             	mov    %ecx,0xc(%esi)
40e38c:	89 4e 14             	mov    %ecx,0x14(%esi)
40e38f:	e8 cd 5d 00 00       	call   0x414161
40e394:	83 c4 0c             	add    $0xc,%esp
40e397:	eb 28                	jmp    0x40e3c1
40e399:	6a 0c                	push   $0xc
40e39b:	e8 f7 4f 00 00       	call   0x413397
40e3a0:	8b f0                	mov    %eax,%esi
40e3a2:	89 b5 10 ff ff ff    	mov    %esi,-0xf0(%ebp)
40e3a8:	59                   	pop    %ecx
40e3a9:	85 f6                	test   %esi,%esi
40e3ab:	74 12                	je     0x40e3bf
40e3ad:	83 66 04 00          	andl   $0x0,0x4(%esi)
40e3b1:	c7 06 f8 16 40 00    	movl   $0x4016f8,(%esi)
40e3b7:	33 c0                	xor    %eax,%eax
40e3b9:	66 89 46 08          	mov    %ax,0x8(%esi)
40e3bd:	eb 02                	jmp    0x40e3c1
40e3bf:	33 f6                	xor    %esi,%esi
40e3c1:	85 f6                	test   %esi,%esi
40e3c3:	0f 84 e7 00 00 00    	je     0x40e4b0
40e3c9:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
40e3cf:	8d 8d 0c ff ff ff    	lea    -0xf4(%ebp),%ecx
40e3d5:	e8 c6 16 00 00       	call   0x40faa0
40e3da:	85 c0                	test   %eax,%eax
40e3dc:	0f 84 ce 00 00 00    	je     0x40e4b0
40e3e2:	8b 15 18 a3 41 00    	mov    0x41a318,%edx
40e3e8:	43                   	inc    %ebx
40e3e9:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40e3ef:	6a 38                	push   $0x38
40e3f1:	59                   	pop    %ecx
40e3f2:	89 4f fc             	mov    %ecx,-0x4(%edi)
40e3f5:	89 77 18             	mov    %esi,0x18(%edi)
40e3f8:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
40e3fe:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40e404:	89 57 04             	mov    %edx,0x4(%edi)
40e407:	89 47 08             	mov    %eax,0x8(%edi)
40e40a:	c7 47 14 b0 df 40 00 	movl   $0x40dfb0,0x14(%edi)
40e411:	03 f9                	add    %ecx,%edi
40e413:	8b 0d 34 57 41 00    	mov    0x415734,%ecx
40e419:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
40e41f:	46                   	inc    %esi
40e420:	89 b5 08 ff ff ff    	mov    %esi,-0xf8(%ebp)
40e426:	83 fe 04             	cmp    $0x4,%esi
40e429:	0f 8c 8a fe ff ff    	jl     0x40e2b9
40e42f:	0f b7 04 4d 04 3e 40 	movzwl 0x403e04(,%ecx,2),%eax
40e436:	00
40e437:	33 f6                	xor    %esi,%esi
40e439:	89 85 e0 fe ff ff    	mov    %eax,-0x120(%ebp)
40e43f:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
40e445:	89 85 e4 fe ff ff    	mov    %eax,-0x11c(%ebp)
40e44b:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
40e451:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
40e457:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
40e45d:	50                   	push   %eax
40e45e:	c7 85 d0 fe ff ff 28 	movl   $0x28,-0x130(%ebp)
40e465:	00 00 00
40e468:	c7 85 d4 fe ff ff 8c 	movl   $0x220018c,-0x12c(%ebp)
40e46f:	01 20 02
40e472:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
40e478:	89 95 dc fe ff ff    	mov    %edx,-0x124(%ebp)
40e47e:	89 9d e8 fe ff ff    	mov    %ebx,-0x118(%ebp)
40e484:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
40e48a:	c7 85 f4 fe ff ff 60 	movl   $0x40e060,-0x10c(%ebp)
40e491:	e0 40 00
40e494:	ff 15 48 b0 41 00    	call   *0x41b048
40e49a:	a1 1c 98 41 00       	mov    0x41981c,%eax
40e49f:	85 c0                	test   %eax,%eax
40e4a1:	74 0d                	je     0x40e4b0
40e4a3:	50                   	push   %eax
40e4a4:	ff 15 80 b0 41 00    	call   *0x41b080
40e4aa:	89 35 1c 98 41 00    	mov    %esi,0x41981c
40e4b0:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
40e4b6:	ff 15 24 b3 41 00    	call   *0x41b324
40e4bc:	59                   	pop    %ecx
40e4bd:	85 db                	test   %ebx,%ebx
40e4bf:	7e 3b                	jle    0x40e4fc
40e4c1:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
40e4c7:	8d bd 38 ff ff ff    	lea    -0xc8(%ebp),%edi
40e4cd:	8b 1f                	mov    (%edi),%ebx
40e4cf:	85 db                	test   %ebx,%ebx
40e4d1:	74 1b                	je     0x40e4ee
40e4d3:	8b 03                	mov    (%ebx),%eax
40e4d5:	6a 01                	push   $0x1
40e4d7:	8b 30                	mov    (%eax),%esi
40e4d9:	8b ce                	mov    %esi,%ecx
40e4db:	ff 15 90 b3 41 00    	call   *0x41b390
40e4e1:	8b cb                	mov    %ebx,%ecx
40e4e3:	ff d6                	call   *%esi
40e4e5:	83 27 00             	andl   $0x0,(%edi)
40e4e8:	8b 85 14 ff ff ff    	mov    -0xec(%ebp),%eax
40e4ee:	83 c7 38             	add    $0x38,%edi
40e4f1:	83 e8 01             	sub    $0x1,%eax
40e4f4:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
40e4fa:	75 d1                	jne    0x40e4cd
40e4fc:	5f                   	pop    %edi
40e4fd:	5e                   	pop    %esi
40e4fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e501:	33 c0                	xor    %eax,%eax
40e503:	33 cd                	xor    %ebp,%ecx
40e505:	40                   	inc    %eax
40e506:	5b                   	pop    %ebx
40e507:	e8 d4 53 00 00       	call   0x4138e0
40e50c:	c9                   	leave
40e50d:	c3                   	ret
40e50e:	cc                   	int3
40e50f:	cc                   	int3
40e510:	8b ff                	mov    %edi,%edi
40e512:	55                   	push   %ebp
40e513:	8b ec                	mov    %esp,%ebp
40e515:	56                   	push   %esi
40e516:	8b f1                	mov    %ecx,%esi
40e518:	e8 65 02 00 00       	call   0x40e782
40e51d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40e521:	74 08                	je     0x40e52b
40e523:	56                   	push   %esi
40e524:	ff 15 cc b2 41 00    	call   *0x41b2cc
40e52a:	59                   	pop    %ecx
40e52b:	8b c6                	mov    %esi,%eax
40e52d:	5e                   	pop    %esi
40e52e:	5d                   	pop    %ebp
40e52f:	c2 04 00             	ret    $0x4
40e532:	cc                   	int3
40e533:	cc                   	int3
40e534:	cc                   	int3
40e535:	cc                   	int3
40e536:	cc                   	int3
40e537:	cc                   	int3
40e538:	cc                   	int3
40e539:	cc                   	int3
40e53a:	cc                   	int3
40e53b:	cc                   	int3
40e53c:	cc                   	int3
40e53d:	cc                   	int3
40e53e:	cc                   	int3
40e53f:	cc                   	int3
40e540:	8b ff                	mov    %edi,%edi
40e542:	55                   	push   %ebp
40e543:	8b ec                	mov    %esp,%ebp
40e545:	a1 30 57 41 00       	mov    0x415730,%eax
40e54a:	56                   	push   %esi
40e54b:	8b 75 08             	mov    0x8(%ebp),%esi
40e54e:	57                   	push   %edi
40e54f:	8b f9                	mov    %ecx,%edi
40e551:	8b 56 08             	mov    0x8(%esi),%edx
40e554:	89 15 30 57 41 00    	mov    %edx,0x415730
40e55a:	3b c2                	cmp    %edx,%eax
40e55c:	74 14                	je     0x40e572
40e55e:	8b 07                	mov    (%edi),%eax
40e560:	56                   	push   %esi
40e561:	6a 00                	push   $0x0
40e563:	8b 70 08             	mov    0x8(%eax),%esi
40e566:	8b ce                	mov    %esi,%ecx
40e568:	ff 15 90 b3 41 00    	call   *0x41b390
40e56e:	8b cf                	mov    %edi,%ecx
40e570:	ff d6                	call   *%esi
40e572:	5f                   	pop    %edi
40e573:	b0 01                	mov    $0x1,%al
40e575:	5e                   	pop    %esi
40e576:	5d                   	pop    %ebp
40e577:	c2 04 00             	ret    $0x4
40e57a:	cc                   	int3
40e57b:	cc                   	int3
40e57c:	cc                   	int3
40e57d:	cc                   	int3
40e57e:	cc                   	int3
40e57f:	cc                   	int3
40e580:	c2 00 00             	ret    $0x0
40e583:	8b ff                	mov    %edi,%edi
40e585:	55                   	push   %ebp
40e586:	8b ec                	mov    %esp,%ebp
40e588:	83 ec 48             	sub    $0x48,%esp
40e58b:	56                   	push   %esi
40e58c:	8b 71 04             	mov    0x4(%ecx),%esi
40e58f:	83 3e 02             	cmpl   $0x2,(%esi)
40e592:	0f 86 c7 00 00 00    	jbe    0x40e65f
40e598:	68 00 20 00 00       	push   $0x2000
40e59d:	6a 00                	push   $0x0
40e59f:	8b ce                	mov    %esi,%ecx
40e5a1:	e8 da 6c ff ff       	call   0x405280
40e5a6:	84 c0                	test   %al,%al
40e5a8:	0f 84 b1 00 00 00    	je     0x40e65f
40e5ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e5b1:	ba 31 47 40 00       	mov    $0x404731,%edx
40e5b6:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
40e5ba:	c7 45 b8 00 00 00 01 	movl   $0x1000000,-0x48(%ebp)
40e5c1:	8b 41 40             	mov    0x40(%ecx),%eax
40e5c4:	89 45 fc             	mov    %eax,-0x4(%ebp)