40406b:	8d 4f 44             	lea    0x44(%edi),%ecx
40406e:	e8 cd 14 03 00       	call   0x435540
404073:	8b 47 44             	mov    0x44(%edi),%eax
404076:	6a 08                	push   $0x8
404078:	50                   	push   %eax
404079:	c7 47 44 00 00 00 00 	movl   $0x0,0x44(%edi)
404080:	e8 83 59 06 00       	call   0x469a08
404085:	8b 4f 14             	mov    0x14(%edi),%ecx
404088:	83 c4 08             	add    $0x8,%esp
40408b:	83 f9 08             	cmp    $0x8,%ecx
40408e:	72 2d                	jb     0x4040bd
404090:	8b 07                	mov    (%edi),%eax
404092:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
404099:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40409f:	72 12                	jb     0x4040b3
4040a1:	8b 50 fc             	mov    -0x4(%eax),%edx
4040a4:	83 c1 23             	add    $0x23,%ecx
4040a7:	2b c2                	sub    %edx,%eax
4040a9:	83 c0 fc             	add    $0xfffffffc,%eax
4040ac:	83 f8 1f             	cmp    $0x1f,%eax
4040af:	77 32                	ja     0x4040e3
4040b1:	8b c2                	mov    %edx,%eax
4040b3:	51                   	push   %ecx
4040b4:	50                   	push   %eax
4040b5:	e8 4e 59 06 00       	call   0x469a08
4040ba:	83 c4 08             	add    $0x8,%esp
4040bd:	33 c0                	xor    %eax,%eax
4040bf:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4040c6:	6a 78                	push   $0x78
4040c8:	57                   	push   %edi
4040c9:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
4040d0:	66 89 07             	mov    %ax,(%edi)
4040d3:	e8 30 59 06 00       	call   0x469a08
4040d8:	83 c4 08             	add    $0x8,%esp
4040db:	8b c7                	mov    %edi,%eax
4040dd:	5f                   	pop    %edi
4040de:	5e                   	pop    %esi
4040df:	5d                   	pop    %ebp
4040e0:	c2 04 00             	ret    $0x4
4040e3:	e8 49 55 07 00       	call   0x479631
4040e8:	cc                   	int3
4040e9:	cc                   	int3
4040ea:	cc                   	int3
4040eb:	cc                   	int3
4040ec:	cc                   	int3
4040ed:	cc                   	int3
4040ee:	cc                   	int3
4040ef:	cc                   	int3
4040f0:	55                   	push   %ebp
4040f1:	8b ec                	mov    %esp,%ebp
4040f3:	6a 00                	push   $0x0
4040f5:	ff 15 c4 e2 49 00    	call   *0x49e2c4
4040fb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4040fe:	e8 0d 00 00 00       	call   0x404110
404103:	ff 15 c8 e2 49 00    	call   *0x49e2c8
404109:	33 c0                	xor    %eax,%eax
40410b:	5d                   	pop    %ebp
40410c:	c2 04 00             	ret    $0x4
40410f:	cc                   	int3
404110:	55                   	push   %ebp
404111:	8b ec                	mov    %esp,%ebp
404113:	6a ff                	push   $0xffffffff
404115:	68 35 75 49 00       	push   $0x497535
40411a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404120:	50                   	push   %eax
404121:	83 ec 30             	sub    $0x30,%esp
404124:	a1 14 40 4c 00       	mov    0x4c4014,%eax
404129:	33 c5                	xor    %ebp,%eax
40412b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40412e:	53                   	push   %ebx
40412f:	56                   	push   %esi
404130:	57                   	push   %edi
404131:	50                   	push   %eax
404132:	8d 45 f4             	lea    -0xc(%ebp),%eax
404135:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40413b:	8b d9                	mov    %ecx,%ebx
40413d:	8b 43 40             	mov    0x40(%ebx),%eax
404140:	68 50 f7 4a 00       	push   $0x4af750
404145:	68 60 ea 4a 00       	push   $0x4aea60
40414a:	50                   	push   %eax
40414b:	8b 08                	mov    (%eax),%ecx
40414d:	8b 71 04             	mov    0x4(%ecx),%esi
404150:	8b ce                	mov    %esi,%ecx
404152:	ff 15 d4 e2 49 00    	call   *0x49e2d4
404158:	ff d6                	call   *%esi
40415a:	83 c4 0c             	add    $0xc,%esp
40415d:	e8 fe 6f 00 00       	call   0x40b160
404162:	89 43 44             	mov    %eax,0x44(%ebx)
404165:	c6 43 20 01          	movb   $0x1,0x20(%ebx)
404169:	80 7b 20 00          	cmpb   $0x0,0x20(%ebx)
40416d:	0f 84 9d 01 00 00    	je     0x404310
404173:	6a 00                	push   $0x0
404175:	68 60 ea 4a 00       	push   $0x4aea60
40417a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40417d:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
404184:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40418b:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
404192:	e8 c9 de ff ff       	call   0x402060
404197:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40419e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4041a5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4041ac:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4041b3:	8b 7b 24             	mov    0x24(%ebx),%edi
4041b6:	8d 47 58             	lea    0x58(%edi),%eax
4041b9:	50                   	push   %eax
4041ba:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4041bd:	ff 15 98 e1 49 00    	call   *0x49e198
4041c3:	83 7f 54 00          	cmpl   $0x0,0x54(%edi)
4041c7:	75 3d                	jne    0x404206
4041c9:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4041cc:	50                   	push   %eax
4041cd:	ff 15 a4 e1 49 00    	call   *0x49e1a4
4041d3:	80 7f 39 00          	cmpb   $0x0,0x39(%edi)
4041d7:	0f 84 b2 02 00 00    	je     0x40448f
4041dd:	6a 00                	push   $0x0
4041df:	68 60 ea 4a 00       	push   $0x4aea60
4041e4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4041e7:	c7 45 cc ff ff 00 00 	movl   $0xffff,-0x34(%ebp)
4041ee:	c7 45 d0 ff ff 00 00 	movl   $0xffff,-0x30(%ebp)
4041f5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4041fc:	e8 ff eb ff ff       	call   0x402e00
404201:	e9 05 02 00 00       	jmp    0x40440b
404206:	8b 4f 4c             	mov    0x4c(%edi),%ecx
404209:	8b 47 48             	mov    0x48(%edi),%eax
40420c:	49                   	dec    %ecx
40420d:	23 4f 50             	and    0x50(%edi),%ecx
404210:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
404213:	f3 0f 7e 01          	movq   (%ecx),%xmm0
404217:	66 0f d6 45 cc       	movq   %xmm0,-0x34(%ebp)
40421c:	8b 41 08             	mov    0x8(%ecx),%eax
40421f:	83 c1 0c             	add    $0xc,%ecx
404222:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404225:	8d 45 d8             	lea    -0x28(%ebp),%eax
404228:	3b c1                	cmp    %ecx,%eax
40422a:	74 16                	je     0x404242
40422c:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
404230:	8b c1                	mov    %ecx,%eax
404232:	72 02                	jb     0x404236
404234:	8b 01                	mov    (%ecx),%eax
404236:	ff 71 10             	push   0x10(%ecx)
404239:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40423c:	50                   	push   %eax
40423d:	e8 be eb ff ff       	call   0x402e00
404242:	8d 4f 44             	lea    0x44(%edi),%ecx
404245:	e8 76 12 03 00       	call   0x4354c0
40424a:	8d 47 58             	lea    0x58(%edi),%eax
40424d:	50                   	push   %eax
40424e:	ff 15 a4 e1 49 00    	call   *0x49e1a4
404254:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
404258:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40425b:	8b 7d d8             	mov    -0x28(%ebp),%edi
40425e:	8b 45 e8             	mov    -0x18(%ebp),%eax
404261:	0f 93 c2             	setae  %dl
404264:	0f 43 cf             	cmovae %edi,%ecx
404267:	88 55 cb             	mov    %dl,-0x35(%ebp)
40426a:	83 f8 11             	cmp    $0x11,%eax
40426d:	0f 85 0c 01 00 00    	jne    0x40437f
404273:	8b f0                	mov    %eax,%esi
404275:	ba fc f7 4a 00       	mov    $0x4af7fc,%edx
40427a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
404280:	66 8b 01             	mov    (%ecx),%ax
404283:	66 3b 02             	cmp    (%edx),%ax
404286:	0f 85 ed 00 00 00    	jne    0x404379
40428c:	83 c1 02             	add    $0x2,%ecx
40428f:	83 c2 02             	add    $0x2,%edx
404292:	83 ee 01             	sub    $0x1,%esi
404295:	75 e9                	jne    0x404280
404297:	8b 43 40             	mov    0x40(%ebx),%eax
40429a:	68 78 f8 4a 00       	push   $0x4af878
40429f:	68 60 ea 4a 00       	push   $0x4aea60
4042a4:	50                   	push   %eax
4042a5:	8b 08                	mov    (%eax),%ecx
4042a7:	8b 71 24             	mov    0x24(%ecx),%esi
4042aa:	8b ce                	mov    %esi,%ecx
4042ac:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4042b2:	ff d6                	call   *%esi
4042b4:	83 c4 0c             	add    $0xc,%esp
4042b7:	c6 43 20 00          	movb   $0x0,0x20(%ebx)
4042bb:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4042c2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4042c5:	83 f9 08             	cmp    $0x8,%ecx
4042c8:	72 32                	jb     0x4042fc
4042ca:	8b 55 d8             	mov    -0x28(%ebp),%edx
4042cd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4042d4:	8b c2                	mov    %edx,%eax
4042d6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4042dc:	72 14                	jb     0x4042f2
4042de:	8b 50 fc             	mov    -0x4(%eax),%edx
4042e1:	83 c1 23             	add    $0x23,%ecx
4042e4:	2b c2                	sub    %edx,%eax
4042e6:	83 c0 fc             	add    $0xfffffffc,%eax
4042e9:	83 f8 1f             	cmp    $0x1f,%eax
4042ec:	0f 87 36 02 00 00    	ja     0x404528
4042f2:	51                   	push   %ecx
4042f3:	52                   	push   %edx
4042f4:	e8 0f 57 06 00       	call   0x469a08
4042f9:	83 c4 08             	add    $0x8,%esp
4042fc:	33 c0                	xor    %eax,%eax
4042fe:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
404305:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
40430c:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
404310:	8b 43 40             	mov    0x40(%ebx),%eax
404313:	68 68 f9 4a 00       	push   $0x4af968
404318:	50                   	push   %eax
404319:	8b 08                	mov    (%eax),%ecx
40431b:	8b 71 14             	mov    0x14(%ecx),%esi
40431e:	8b ce                	mov    %esi,%ecx
404320:	ff 15 d4 e2 49 00    	call   *0x49e2d4
404326:	ff d6                	call   *%esi
404328:	8b 4b 24             	mov    0x24(%ebx),%ecx
40432b:	83 c4 08             	add    $0x8,%esp
40432e:	e8 fd b6 01 00       	call   0x41fa30
404333:	8b 73 44             	mov    0x44(%ebx),%esi
404336:	85 f6                	test   %esi,%esi
404338:	0f 85 a7 01 00 00    	jne    0x4044e5
40433e:	8b 35 94 8c 4c 00    	mov    0x4c8c94,%esi
404344:	85 f6                	test   %esi,%esi
404346:	0f 84 6a 01 00 00    	je     0x4044b6
40434c:	68 e8 0d 4b 00       	push   $0x4b0de8
404351:	68 60 ea 4a 00       	push   $0x4aea60
404356:	68 60 ea 4a 00       	push   $0x4aea60
40435b:	68 f8 0c 4b 00       	push   $0x4b0cf8
404360:	68 10 0d 4b 00       	push   $0x4b0d10
404365:	6a 32                	push   $0x32
404367:	8b ce                	mov    %esi,%ecx
404369:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40436f:	ff d6                	call   *%esi
404371:	83 c4 18             	add    $0x18,%esp
404374:	e9 8a 01 00 00       	jmp    0x404503
404379:	8b 45 e8             	mov    -0x18(%ebp),%eax
40437c:	8a 55 cb             	mov    -0x35(%ebp),%dl
40437f:	84 d2                	test   %dl,%dl
404381:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404384:	0f 45 cf             	cmovne %edi,%ecx
404387:	83 f8 29             	cmp    $0x29,%eax
40438a:	75 1f                	jne    0x4043ab
40438c:	8b f0                	mov    %eax,%esi
40438e:	ba 20 f8 4a 00       	mov    $0x4af820,%edx
404393:	66 8b 01             	mov    (%ecx),%ax
404396:	66 3b 02             	cmp    (%edx),%ax
404399:	75 10                	jne    0x4043ab
40439b:	83 c1 02             	add    $0x2,%ecx
40439e:	83 c2 02             	add    $0x2,%edx
4043a1:	83 ee 01             	sub    $0x1,%esi
4043a4:	75 ed                	jne    0x404393
4043a6:	e9 ec fe ff ff       	jmp    0x404297
4043ab:	83 7b 1c 08          	cmpl   $0x8,0x1c(%ebx)
4043af:	8d 7b 08             	lea    0x8(%ebx),%edi
4043b2:	8b d7                	mov    %edi,%edx
4043b4:	72 02                	jb     0x4043b8
4043b6:	8b 17                	mov    (%edi),%edx
4043b8:	8b 43 40             	mov    0x40(%ebx),%eax
4043bb:	52                   	push   %edx
4043bc:	68 c0 f9 4a 00       	push   $0x4af9c0
4043c1:	50                   	push   %eax
4043c2:	8b 08                	mov    (%eax),%ecx
4043c4:	8b 71 14             	mov    0x14(%ecx),%esi
4043c7:	8b ce                	mov    %esi,%ecx
4043c9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4043cf:	ff d6                	call   *%esi
4043d1:	83 ec 0c             	sub    $0xc,%esp
4043d4:	8b cc                	mov    %esp,%ecx
4043d6:	89 65 c4             	mov    %esp,-0x3c(%ebp)
4043d9:	57                   	push   %edi
4043da:	e8 91 f1 ff ff       	call   0x403570
4043df:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4043e3:	83 3d 8c 8c 4c 00 00 	cmpl   $0x0,0x4c8c8c
4043ea:	75 12                	jne    0x4043fe
4043ec:	6a 01                	push   $0x1
4043ee:	e8 e5 55 06 00       	call   0x4699d8
4043f3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4043f6:	83 c4 04             	add    $0x4,%esp
4043f9:	a3 8c 8c 4c 00       	mov    %eax,0x4c8c8c
4043fe:	8d 45 d8             	lea    -0x28(%ebp),%eax
404401:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404405:	50                   	push   %eax
404406:	e8 d5 37 00 00       	call   0x407be0
40440b:	8b 4b 44             	mov    0x44(%ebx),%ecx
40440e:	6a ff                	push   $0xffffffff
404410:	6a ff                	push   $0xffffffff
404412:	e8 69 6e 00 00       	call   0x40b280
404417:	83 c4 08             	add    $0x8,%esp
40441a:	83 f8 02             	cmp    $0x2,%eax
40441d:	75 20                	jne    0x40443f
40441f:	8b 43 40             	mov    0x40(%ebx),%eax
404422:	68 38 f9 4a 00       	push   $0x4af938
404427:	68 60 ea 4a 00       	push   $0x4aea60
40442c:	50                   	push   %eax
40442d:	8b 08                	mov    (%eax),%ecx
40442f:	8b 71 1c             	mov    0x1c(%ecx),%esi
404432:	8b ce                	mov    %esi,%ecx
404434:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40443a:	ff d6                	call   *%esi
40443c:	83 c4 0c             	add    $0xc,%esp
40443f:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
404446:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404449:	83 f9 08             	cmp    $0x8,%ecx
40444c:	72 32                	jb     0x404480
40444e:	8b 55 d8             	mov    -0x28(%ebp),%edx
404451:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
404458:	8b c2                	mov    %edx,%eax
40445a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
404460:	72 14                	jb     0x404476
404462:	8b 50 fc             	mov    -0x4(%eax),%edx
404465:	83 c1 23             	add    $0x23,%ecx
404468:	2b c2                	sub    %edx,%eax
40446a:	83 c0 fc             	add    $0xfffffffc,%eax
40446d:	83 f8 1f             	cmp    $0x1f,%eax
404470:	0f 87 b2 00 00 00    	ja     0x404528
404476:	51                   	push   %ecx
404477:	52                   	push   %edx
404478:	e8 8b 55 06 00       	call   0x469a08
40447d:	83 c4 08             	add    $0x8,%esp
404480:	80 7b 20 00          	cmpb   $0x0,0x20(%ebx)
404484:	0f 85 e9 fc ff ff    	jne    0x404173
40448a:	e9 81 fe ff ff       	jmp    0x404310
40448f:	8b 43 40             	mov    0x40(%ebx),%eax
404492:	6a fc                	push   $0xfffffffc
404494:	68 b0 f7 4a 00       	push   $0x4af7b0
404499:	68 60 ea 4a 00       	push   $0x4aea60
40449e:	8b 30                	mov    (%eax),%esi
4044a0:	50                   	push   %eax
4044a1:	8b 76 24             	mov    0x24(%esi),%esi
4044a4:	8b ce                	mov    %esi,%ecx
4044a6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4044ac:	ff d6                	call   *%esi
4044ae:	83 c4 10             	add    $0x10,%esp
4044b1:	e9 05 fe ff ff       	jmp    0x4042bb
4044b6:	a1 98 8c 4c 00       	mov    0x4c8c98,%eax
4044bb:	85 c0                	test   %eax,%eax
4044bd:	74 44                	je     0x404503
4044bf:	8b 30                	mov    (%eax),%esi
4044c1:	68 e8 0d 4b 00       	push   $0x4b0de8
4044c6:	68 f8 0c 4b 00       	push   $0x4b0cf8
4044cb:	68 60 ea 4a 00       	push   $0x4aea60
4044d0:	8b 76 34             	mov    0x34(%esi),%esi
4044d3:	8b ce                	mov    %esi,%ecx
4044d5:	6a 32                	push   $0x32
4044d7:	50                   	push   %eax
4044d8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4044de:	ff d6                	call   *%esi
4044e0:	83 c4 14             	add    $0x14,%esp
4044e3:	eb 1e                	jmp    0x404503
4044e5:	8b 06                	mov    (%esi),%eax
4044e7:	85 c0                	test   %eax,%eax
4044e9:	74 0d                	je     0x4044f8
4044eb:	50                   	push   %eax
4044ec:	ff 15 64 e0 49 00    	call   *0x49e064
4044f2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4044f8:	6a 04                	push   $0x4