404020:	8b 46 0c             	mov    0xc(%esi),%eax
404023:	eb 02                	jmp    0x404027
404025:	33 c0                	xor    %eax,%eax
404027:	5e                   	pop    %esi
404028:	c9                   	leave
404029:	c2 0c 00             	ret    $0xc
40402c:	55                   	push   %ebp
40402d:	8b ec                	mov    %esp,%ebp
40402f:	8b 45 08             	mov    0x8(%ebp),%eax
404032:	8b 0d 64 f4 41 00    	mov    0x41f464,%ecx
404038:	ff 75 10             	push   0x10(%ebp)
40403b:	03 c8                	add    %eax,%ecx
40403d:	51                   	push   %ecx
40403e:	ff 75 0c             	push   0xc(%ebp)
404041:	ff 15 bc 70 40 00    	call   *0x4070bc
404047:	ff 75 0c             	push   0xc(%ebp)
40404a:	e8 2d 1b 00 00       	call   0x405b7c
40404f:	8b 4d 14             	mov    0x14(%ebp),%ecx
404052:	89 01                	mov    %eax,(%ecx)
404054:	01 05 64 f4 41 00    	add    %eax,0x41f464
40405a:	33 c0                	xor    %eax,%eax
40405c:	5d                   	pop    %ebp
40405d:	c2 10 00             	ret    $0x10
404060:	55                   	push   %ebp
404061:	8b ec                	mov    %esp,%ebp
404063:	83 ec 0c             	sub    $0xc,%esp
404066:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40406d:	53                   	push   %ebx
40406e:	56                   	push   %esi
40406f:	57                   	push   %edi
404070:	0f 85 0d 01 00 00    	jne    0x404183
404076:	8b 5d 14             	mov    0x14(%ebp),%ebx
404079:	8b 7b 30             	mov    0x30(%ebx),%edi
40407c:	85 ff                	test   %edi,%edi
40407e:	7d 11                	jge    0x404091
404080:	8b 0d 7c 36 42 00    	mov    0x42367c,%ecx
404086:	8d 04 bd 04 00 00 00 	lea    0x4(,%edi,4),%eax
40408d:	2b c8                	sub    %eax,%ecx
40408f:	8b 39                	mov    (%ecx),%edi
404091:	a1 d8 3e 42 00       	mov    0x423ed8,%eax
404096:	ff 73 34             	push   0x34(%ebx)
404099:	03 f8                	add    %eax,%edi
40409b:	6a 22                	push   $0x22
40409d:	0f be 07             	movsbl (%edi),%eax
4040a0:	89 45 14             	mov    %eax,0x14(%ebp)
4040a3:	8b 43 14             	mov    0x14(%ebx),%eax
4040a6:	ff 75 08             	push   0x8(%ebp)
4040a9:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4040ad:	8b f0                	mov    %eax,%esi
4040af:	47                   	inc    %edi
4040b0:	f7 d6                	not    %esi
4040b2:	c1 ee 05             	shr    $0x5,%esi
4040b5:	83 e6 01             	and    $0x1,%esi
4040b8:	83 e0 01             	and    $0x1,%eax
4040bb:	89 7d f4             	mov    %edi,-0xc(%ebp)
4040be:	c7 45 fc 2c 40 40 00 	movl   $0x40402c,-0x4(%ebp)
4040c5:	0b f0                	or     %eax,%esi
4040c7:	e8 4c fe ff ff       	call   0x403f18
4040cc:	ff 73 38             	push   0x38(%ebx)
4040cf:	6a 23                	push   $0x23
4040d1:	ff 75 08             	push   0x8(%ebp)
4040d4:	e8 3f fe ff ff       	call   0x403f18
4040d9:	33 c0                	xor    %eax,%eax
4040db:	6a 01                	push   $0x1
4040dd:	85 f6                	test   %esi,%esi
4040df:	0f 94 c0             	sete   %al
4040e2:	05 0a 04 00 00       	add    $0x40a,%eax
4040e7:	50                   	push   %eax
4040e8:	ff 75 08             	push   0x8(%ebp)
4040eb:	ff 15 9c 71 40 00    	call   *0x40719c
4040f1:	56                   	push   %esi
4040f2:	e8 43 fe ff ff       	call   0x403f3a
4040f7:	68 e8 03 00 00       	push   $0x3e8
4040fc:	ff 75 08             	push   0x8(%ebp)
4040ff:	ff 15 2c 72 40 00    	call   *0x40722c
404105:	8b d8                	mov    %eax,%ebx
404107:	53                   	push   %ebx
404108:	e8 40 fe ff ff       	call   0x403f4d
40410d:	8b 35 44 72 40 00    	mov    0x407244,%esi
404113:	6a 00                	push   $0x0
404115:	6a 01                	push   $0x1
404117:	68 5b 04 00 00       	push   $0x45b
40411c:	53                   	push   %ebx
40411d:	ff d6                	call   *%esi
40411f:	a1 b0 3e 42 00       	mov    0x423eb0,%eax
404124:	8b 40 68             	mov    0x68(%eax),%eax
404127:	85 c0                	test   %eax,%eax
404129:	7d 09                	jge    0x404134
40412b:	f7 d8                	neg    %eax
40412d:	50                   	push   %eax
40412e:	ff 15 8c 71 40 00    	call   *0x40718c
404134:	50                   	push   %eax
404135:	6a 00                	push   $0x0
404137:	68 43 04 00 00       	push   $0x443
40413c:	53                   	push   %ebx
40413d:	ff d6                	call   *%esi
40413f:	68 00 00 01 04       	push   $0x4010000
404144:	6a 00                	push   $0x0
404146:	68 45 04 00 00       	push   $0x445
40414b:	53                   	push   %ebx
40414c:	ff d6                	call   *%esi
40414e:	83 25 64 f4 41 00 00 	andl   $0x0,0x41f464
404155:	57                   	push   %edi
404156:	e8 21 1a 00 00       	call   0x405b7c
40415b:	50                   	push   %eax
40415c:	6a 00                	push   $0x0
40415e:	68 35 04 00 00       	push   $0x435
404163:	53                   	push   %ebx
404164:	ff d6                	call   *%esi
404166:	8d 45 f4             	lea    -0xc(%ebp),%eax
404169:	50                   	push   %eax
40416a:	ff 75 14             	push   0x14(%ebp)
40416d:	68 49 04 00 00       	push   $0x449
404172:	53                   	push   %ebx
404173:	ff d6                	call   *%esi
404175:	83 25 80 04 42 00 00 	andl   $0x0,0x420480
40417c:	33 c0                	xor    %eax,%eax
40417e:	e9 61 01 00 00       	jmp    0x4042e4
404183:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
40418a:	8b 1d 2c 72 40 00    	mov    0x40722c,%ebx
404190:	8b 35 44 72 40 00    	mov    0x407244,%esi
404196:	75 5a                	jne    0x4041f2
404198:	8b 45 10             	mov    0x10(%ebp),%eax
40419b:	c1 e8 10             	shr    $0x10,%eax
40419e:	66 85 c0             	test   %ax,%ax
4041a1:	0f 85 2e 01 00 00    	jne    0x4042d5
4041a7:	33 c0                	xor    %eax,%eax
4041a9:	39 05 80 04 42 00    	cmp    %eax,0x420480
4041af:	0f 85 20 01 00 00    	jne    0x4042d5
4041b5:	8b 0d 70 fc 41 00    	mov    0x41fc70,%ecx
4041bb:	8d 79 14             	lea    0x14(%ecx),%edi
4041be:	f6 07 20             	testb  $0x20,(%edi)
4041c1:	0f 84 0e 01 00 00    	je     0x4042d5
4041c7:	50                   	push   %eax
4041c8:	50                   	push   %eax
4041c9:	68 f0 00 00 00       	push   $0xf0
4041ce:	68 0a 04 00 00       	push   $0x40a
4041d3:	ff 75 08             	push   0x8(%ebp)
4041d6:	ff d3                	call   *%ebx
4041d8:	50                   	push   %eax
4041d9:	ff d6                	call   *%esi
4041db:	8b 0f                	mov    (%edi),%ecx
4041dd:	83 e0 01             	and    $0x1,%eax
4041e0:	83 e1 fe             	and    $0xfffffffe,%ecx
4041e3:	50                   	push   %eax
4041e4:	0b c8                	or     %eax,%ecx
4041e6:	89 0f                	mov    %ecx,(%edi)
4041e8:	e8 4d fd ff ff       	call   0x403f3a
4041ed:	e8 f9 00 00 00       	call   0x4042eb
4041f2:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
4041f6:	0f 85 ca 00 00 00    	jne    0x4042c6
4041fc:	68 e8 03 00 00       	push   $0x3e8
404201:	ff 75 08             	push   0x8(%ebp)
404204:	ff d3                	call   *%ebx
404206:	8b 7d 14             	mov    0x14(%ebp),%edi
404209:	81 7f 08 0b 07 00 00 	cmpl   $0x70b,0x8(%edi)
404210:	75 72                	jne    0x404284
404212:	81 7f 0c 01 02 00 00 	cmpl   $0x201,0xc(%edi)
404219:	75 69                	jne    0x404284
40421b:	8b 4f 1c             	mov    0x1c(%edi),%ecx
40421e:	8b 57 18             	mov    0x18(%edi),%edx
404221:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404224:	2b ca                	sub    %edx,%ecx
404226:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
40422c:	89 55 f4             	mov    %edx,-0xc(%ebp)
40422f:	c7 45 fc 40 2e 42 00 	movl   $0x422e40,-0x4(%ebp)
404236:	73 4c                	jae    0x404284
404238:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40423b:	51                   	push   %ecx
40423c:	6a 00                	push   $0x0
40423e:	68 4b 04 00 00       	push   $0x44b
404243:	50                   	push   %eax
404244:	ff d6                	call   *%esi
404246:	8b 3d 98 71 40 00    	mov    0x407198,%edi
40424c:	68 02 7f 00 00       	push   $0x7f02
404251:	6a 00                	push   $0x0
404253:	ff d7                	call   *%edi
404255:	8b 1d 94 71 40 00    	mov    0x407194,%ebx
40425b:	50                   	push   %eax
40425c:	ff d3                	call   *%ebx
40425e:	6a 01                	push   $0x1
404260:	6a 00                	push   $0x0
404262:	6a 00                	push   $0x0
404264:	ff 75 fc             	push   -0x4(%ebp)
404267:	68 e4 91 40 00       	push   $0x4091e4
40426c:	ff 75 08             	push   0x8(%ebp)
40426f:	ff 15 5c 71 40 00    	call   *0x40715c
404275:	68 00 7f 00 00       	push   $0x7f00
40427a:	6a 00                	push   $0x0
40427c:	ff d7                	call   *%edi
40427e:	50                   	push   %eax
40427f:	ff d3                	call   *%ebx
404281:	8b 7d 14             	mov    0x14(%ebp),%edi
404284:	81 7f 08 00 07 00 00 	cmpl   $0x700,0x8(%edi)
40428b:	75 4b                	jne    0x4042d8
40428d:	81 7f 0c 00 01 00 00 	cmpl   $0x100,0xc(%edi)
404294:	75 42                	jne    0x4042d8
404296:	83 7f 10 0d          	cmpl   $0xd,0x10(%edi)
40429a:	75 11                	jne    0x4042ad
40429c:	6a 00                	push   $0x0
40429e:	6a 01                	push   $0x1
4042a0:	68 11 01 00 00       	push   $0x111
4042a5:	ff 35 a8 3e 42 00    	push   0x423ea8
4042ab:	ff d6                	call   *%esi
4042ad:	83 7f 10 1b          	cmpl   $0x1b,0x10(%edi)
4042b1:	75 0e                	jne    0x4042c1
4042b3:	6a 00                	push   $0x0
4042b5:	6a 00                	push   $0x0
4042b7:	6a 10                	push   $0x10
4042b9:	ff 35 a8 3e 42 00    	push   0x423ea8
4042bf:	ff d6                	call   *%esi
4042c1:	33 c0                	xor    %eax,%eax
4042c3:	40                   	inc    %eax
4042c4:	eb 1e                	jmp    0x4042e4
4042c6:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
4042cd:	75 06                	jne    0x4042d5
4042cf:	ff 05 80 04 42 00    	incl   0x420480
4042d5:	8b 7d 14             	mov    0x14(%ebp),%edi
4042d8:	57                   	push   %edi
4042d9:	ff 75 10             	push   0x10(%ebp)
4042dc:	ff 75 0c             	push   0xc(%ebp)
4042df:	e8 9b fc ff ff       	call   0x403f7f
4042e4:	5f                   	pop    %edi
4042e5:	5e                   	pop    %esi
4042e6:	5b                   	pop    %ebx
4042e7:	c9                   	leave
4042e8:	c2 10 00             	ret    $0x10
4042eb:	83 3d 2c 3f 42 00 00 	cmpl   $0x0,0x423f2c
4042f2:	a1 60 f4 41 00       	mov    0x41f460,%eax
4042f7:	75 05                	jne    0x4042fe
4042f9:	a1 98 04 42 00       	mov    0x420498,%eax
4042fe:	6a 01                	push   $0x1
404300:	6a 01                	push   $0x1
404302:	68 f4 00 00 00       	push   $0xf4
404307:	50                   	push   %eax
404308:	ff 15 44 72 40 00    	call   *0x407244
40430e:	c3                   	ret
40430f:	55                   	push   %ebp
404310:	8b ec                	mov    %esp,%ebp
404312:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404319:	56                   	push   %esi
40431a:	8b 75 14             	mov    0x14(%ebp),%esi
40431d:	75 26                	jne    0x404345
40431f:	ff 76 30             	push   0x30(%esi)
404322:	6a 1d                	push   $0x1d
404324:	ff 75 08             	push   0x8(%ebp)
404327:	e8 ec fb ff ff       	call   0x403f18
40432c:	8b 46 3c             	mov    0x3c(%esi),%eax
40432f:	c1 e0 0a             	shl    $0xa,%eax
404332:	05 00 40 42 00       	add    $0x424000,%eax
404337:	50                   	push   %eax
404338:	68 e8 03 00 00       	push   $0x3e8
40433d:	ff 75 08             	push   0x8(%ebp)
404340:	e8 c0 10 00 00       	call   0x405405
404345:	56                   	push   %esi
404346:	ff 75 10             	push   0x10(%ebp)
404349:	ff 75 0c             	push   0xc(%ebp)
40434c:	e8 2e fc ff ff       	call   0x403f7f
404351:	5e                   	pop    %esi
404352:	5d                   	pop    %ebp
404353:	c2 10 00             	ret    $0x10
404356:	55                   	push   %ebp
404357:	8b ec                	mov    %esp,%ebp
404359:	83 ec 48             	sub    $0x48,%esp
40435c:	a1 70 fc 41 00       	mov    0x41fc70,%eax
404361:	53                   	push   %ebx
404362:	56                   	push   %esi
404363:	89 45 e0             	mov    %eax,-0x20(%ebp)
404366:	8b 70 3c             	mov    0x3c(%eax),%esi
404369:	8b 40 38             	mov    0x38(%eax),%eax
40436c:	c1 e6 0a             	shl    $0xa,%esi
40436f:	81 c6 00 40 42 00    	add    $0x424000,%esi
404375:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
40437c:	57                   	push   %edi
40437d:	89 45 fc             	mov    %eax,-0x4(%ebp)
404380:	bb fb 03 00 00       	mov    $0x3fb,%ebx
404385:	75 0d                	jne    0x404394
404387:	56                   	push   %esi
404388:	53                   	push   %ebx
404389:	e8 7d 10 00 00       	call   0x40540b
40438e:	56                   	push   %esi
40438f:	e8 34 1a 00 00       	call   0x405dc8
404394:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40439b:	75 72                	jne    0x40440f
40439d:	8b 7d 08             	mov    0x8(%ebp),%edi
4043a0:	53                   	push   %ebx
4043a1:	57                   	push   %edi
4043a2:	ff 15 2c 72 40 00    	call   *0x40722c
4043a8:	56                   	push   %esi
4043a9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4043ac:	e8 15 13 00 00       	call   0x4056c6
4043b1:	85 c0                	test   %eax,%eax
4043b3:	74 10                	je     0x4043c5
4043b5:	56                   	push   %esi
4043b6:	e8 32 13 00 00       	call   0x4056ed
4043bb:	85 c0                	test   %eax,%eax
4043bd:	75 06                	jne    0x4043c5
4043bf:	56                   	push   %esi
4043c0:	e8 94 12 00 00       	call   0x405659
4043c5:	56                   	push   %esi
4043c6:	89 3d 78 36 42 00    	mov    %edi,0x423678
4043cc:	ff 75 f8             	push   -0x8(%ebp)
4043cf:	ff 15 f4 71 40 00    	call   *0x4071f4
4043d5:	8b 45 14             	mov    0x14(%ebp),%eax
4043d8:	ff 70 34             	push   0x34(%eax)
4043db:	6a 01                	push   $0x1
4043dd:	57                   	push   %edi
4043de:	e8 35 fb ff ff       	call   0x403f18
4043e3:	8b 45 14             	mov    0x14(%ebp),%eax
4043e6:	ff 70 30             	push   0x30(%eax)
4043e9:	6a 14                	push   $0x14
4043eb:	57                   	push   %edi
4043ec:	e8 27 fb ff ff       	call   0x403f18
4043f1:	ff 75 f8             	push   -0x8(%ebp)
4043f4:	e8 54 fb ff ff       	call   0x403f4d
4043f9:	6a 07                	push   $0x7
4043fb:	e8 88 1a 00 00       	call   0x405e88
404400:	85 c0                	test   %eax,%eax
404402:	0f 84 6e 02 00 00    	je     0x404676
404408:	6a 01                	push   $0x1
40440a:	ff 75 f8             	push   -0x8(%ebp)
40440d:	ff d0                	call   *%eax
40440f:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404416:	0f 85 cf 00 00 00    	jne    0x4044eb
40441c:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
404420:	3b c3                	cmp    %ebx,%eax
404422:	75 18                	jne    0x40443c
404424:	8b 4d 10             	mov    0x10(%ebp),%ecx
404427:	c1 e9 10             	shr    $0x10,%ecx
40442a:	66 81 f9 00 03       	cmp    $0x300,%cx
40442f:	0f 85 41 02 00 00    	jne    0x404676
404435:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40443c:	3d e9 03 00 00       	cmp    $0x3e9,%eax
404441:	0f 85 a4 00 00 00    	jne    0x4044eb
404447:	6a 07                	push   $0x7
404449:	33 c0                	xor    %eax,%eax
40444b:	59                   	pop    %ecx
40444c:	8d 7d bc             	lea    -0x44(%ebp),%edi
40444f:	ff 75 fc             	push   -0x4(%ebp)
404452:	f3 ab                	rep stos %eax,%es:(%edi)
404454:	8b 45 08             	mov    0x8(%ebp),%eax
404457:	bf a0 04 42 00       	mov    $0x4204a0,%edi
40445c:	68 70 f8 41 00       	push   $0x41f870
404461:	89 45 b8             	mov    %eax,-0x48(%ebp)
404464:	89 7d c0             	mov    %edi,-0x40(%ebp)
404467:	c7 45 cc 8b 46 40 00 	movl   $0x40468b,-0x34(%ebp)
40446e:	89 75 d0             	mov    %esi,-0x30(%ebp)
404471:	e8 12 17 00 00       	call   0x405b88
404476:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404479:	8d 45 b8             	lea    -0x48(%ebp),%eax