40c11f:	ff 15 68 e0 43 00    	call   *0x43e068
40c125:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40c12b:	8b cb                	mov    %ebx,%ecx
40c12d:	e8 1e 2f 00 00       	call   0x40f050
40c132:	8d 73 4c             	lea    0x4c(%ebx),%esi
40c135:	6a 01                	push   $0x1
40c137:	8b ce                	mov    %esi,%ecx
40c139:	e8 82 89 00 00       	call   0x414ac0
40c13e:	83 c4 04             	add    $0x4,%esp
40c141:	85 c0                	test   %eax,%eax
40c143:	74 1a                	je     0x40c15f
40c145:	83 f8 01             	cmp    $0x1,%eax
40c148:	75 67                	jne    0x40c1b1
40c14a:	51                   	push   %ecx
40c14b:	8b ce                	mov    %esi,%ecx
40c14d:	e8 7e 88 ff ff       	call   0x4049d0
40c152:	83 c4 04             	add    $0x4,%esp
40c155:	84 c0                	test   %al,%al
40c157:	74 58                	je     0x40c1b1
40c159:	c7 07 ff ff ff ff    	movl   $0xffffffff,(%edi)
40c15f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40c163:	8b c6                	mov    %esi,%eax
40c165:	72 02                	jb     0x40c169
40c167:	8b 06                	mov    (%esi),%eax
40c169:	6a 00                	push   $0x0
40c16b:	68 80 00 20 00       	push   $0x200080
40c170:	6a 03                	push   $0x3
40c172:	6a 00                	push   $0x0
40c174:	6a 03                	push   $0x3
40c176:	68 00 00 00 40       	push   $0x40000000
40c17b:	50                   	push   %eax
40c17c:	ff 15 b8 e0 43 00    	call   *0x43e0b8
40c182:	89 07                	mov    %eax,(%edi)
40c184:	83 f8 ff             	cmp    $0xffffffff,%eax
40c187:	75 7f                	jne    0x40c208
40c189:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40c18d:	72 02                	jb     0x40c191
40c18f:	8b 36                	mov    (%esi),%esi
40c191:	6a 00                	push   $0x0
40c193:	68 80 00 20 00       	push   $0x200080
40c198:	6a 01                	push   $0x1
40c19a:	6a 00                	push   $0x0
40c19c:	6a 03                	push   $0x3
40c19e:	68 00 00 00 40       	push   $0x40000000
40c1a3:	56                   	push   %esi
40c1a4:	ff 15 b8 e0 43 00    	call   *0x43e0b8
40c1aa:	89 07                	mov    %eax,(%edi)
40c1ac:	83 f8 ff             	cmp    $0xffffffff,%eax
40c1af:	75 16                	jne    0x40c1c7
40c1b1:	32 c0                	xor    %al,%al
40c1b3:	5f                   	pop    %edi
40c1b4:	5e                   	pop    %esi
40c1b5:	5b                   	pop    %ebx
40c1b6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40c1ba:	33 cc                	xor    %esp,%ecx
40c1bc:	e8 e9 d9 00 00       	call   0x419baa
40c1c1:	8b e5                	mov    %ebp,%esp
40c1c3:	5d                   	pop    %ebp
40c1c4:	c2 04 00             	ret    $0x4
40c1c7:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
40c1ce:	6a 00                	push   $0x0
40c1d0:	75 17                	jne    0x40c1e9
40c1d2:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
40c1d7:	66 89 4c 24 10       	mov    %cx,0x10(%esp)
40c1dc:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1e0:	51                   	push   %ecx
40c1e1:	6a 02                	push   $0x2
40c1e3:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40c1e7:	eb 17                	jmp    0x40c200
40c1e9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1ed:	66 c7 44 24 10 ef bb 	movw   $0xbbef,0x10(%esp)
40c1f4:	51                   	push   %ecx
40c1f5:	c6 44 24 16 bf       	movb   $0xbf,0x16(%esp)
40c1fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1fe:	6a 03                	push   $0x3
40c200:	51                   	push   %ecx
40c201:	50                   	push   %eax
40c202:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c208:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40c20c:	b0 01                	mov    $0x1,%al
40c20e:	5f                   	pop    %edi
40c20f:	5e                   	pop    %esi
40c210:	5b                   	pop    %ebx
40c211:	33 cc                	xor    %esp,%ecx
40c213:	e8 92 d9 00 00       	call   0x419baa
40c218:	8b e5                	mov    %ebp,%esp
40c21a:	5d                   	pop    %ebp
40c21b:	c2 04 00             	ret    $0x4
40c21e:	cc                   	int3
40c21f:	cc                   	int3
40c220:	55                   	push   %ebp
40c221:	8b ec                	mov    %esp,%ebp
40c223:	6a ff                	push   $0xffffffff
40c225:	68 8b c3 43 00       	push   $0x43c38b
40c22a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c230:	50                   	push   %eax
40c231:	81 ec 54 02 00 00    	sub    $0x254,%esp
40c237:	a1 14 50 45 00       	mov    0x455014,%eax
40c23c:	33 c5                	xor    %ebp,%eax
40c23e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c241:	53                   	push   %ebx
40c242:	56                   	push   %esi
40c243:	57                   	push   %edi
40c244:	50                   	push   %eax
40c245:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c248:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c24e:	8b f9                	mov    %ecx,%edi
40c250:	8b 75 08             	mov    0x8(%ebp),%esi
40c253:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c259:	50                   	push   %eax
40c25a:	68 04 01 00 00       	push   $0x104
40c25f:	ff 15 ac e0 43 00    	call   *0x43e0ac
40c265:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c26b:	50                   	push   %eax
40c26c:	ff 15 14 e2 43 00    	call   *0x43e214
40c272:	85 c0                	test   %eax,%eax
40c274:	0f 85 bb 00 00 00    	jne    0x40c335
40c27a:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40c280:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
40c286:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
40c28c:	8d 51 02             	lea    0x2(%ecx),%edx
40c28f:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
40c295:	66 8b 01             	mov    (%ecx),%ax
40c298:	83 c1 02             	add    $0x2,%ecx
40c29b:	66 85 c0             	test   %ax,%ax
40c29e:	75 f5                	jne    0x40c295
40c2a0:	2b ca                	sub    %edx,%ecx
40c2a2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c2a8:	d1 f9                	sar    $1,%ecx
40c2aa:	51                   	push   %ecx
40c2ab:	50                   	push   %eax
40c2ac:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
40c2b2:	e8 49 6d ff ff       	call   0x403000
40c2b7:	32 db                	xor    %bl,%bl
40c2b9:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
40c2bf:	83 bd cc fd ff ff 08 	cmpl   $0x8,-0x234(%ebp)
40c2c6:	6a 00                	push   $0x0
40c2c8:	0f 43 85 b8 fd ff ff 	cmovae -0x248(%ebp),%eax
40c2cf:	50                   	push   %eax
40c2d0:	6a 00                	push   $0x0
40c2d2:	ff 15 08 e2 43 00    	call   *0x43e208
40c2d8:	85 c0                	test   %eax,%eax
40c2da:	74 0c                	je     0x40c2e8
40c2dc:	3d b7 00 00 00       	cmp    $0xb7,%eax
40c2e1:	74 05                	je     0x40c2e8
40c2e3:	83 f8 50             	cmp    $0x50,%eax
40c2e6:	75 02                	jne    0x40c2ea
40c2e8:	b3 01                	mov    $0x1,%bl
40c2ea:	8b 8d cc fd ff ff    	mov    -0x234(%ebp),%ecx
40c2f0:	83 f9 08             	cmp    $0x8,%ecx
40c2f3:	72 35                	jb     0x40c32a
40c2f5:	8b 95 b8 fd ff ff    	mov    -0x248(%ebp),%edx
40c2fb:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c302:	8b c2                	mov    %edx,%eax
40c304:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c30a:	72 14                	jb     0x40c320
40c30c:	8b 50 fc             	mov    -0x4(%eax),%edx
40c30f:	83 c1 23             	add    $0x23,%ecx
40c312:	2b c2                	sub    %edx,%eax
40c314:	83 c0 fc             	add    $0xfffffffc,%eax
40c317:	83 f8 1f             	cmp    $0x1f,%eax
40c31a:	0f 87 90 01 00 00    	ja     0x40c4b0
40c320:	51                   	push   %ecx
40c321:	52                   	push   %edx
40c322:	e8 91 d8 00 00       	call   0x419bb8
40c327:	83 c4 08             	add    $0x8,%esp
40c32a:	84 db                	test   %bl,%bl
40c32c:	75 07                	jne    0x40c335
40c32e:	32 c0                	xor    %al,%al
40c330:	e9 5d 01 00 00       	jmp    0x40c492
40c335:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40c33b:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
40c342:	00 00 00
40c345:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
40c34c:	00 00 00
40c34f:	8d 51 02             	lea    0x2(%ecx),%edx
40c352:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
40c359:	00 00 00
40c35c:	0f 1f 40 00          	nopl   0x0(%eax)
40c360:	66 8b 01             	mov    (%ecx),%ax
40c363:	83 c1 02             	add    $0x2,%ecx
40c366:	66 85 c0             	test   %ax,%ax
40c369:	75 f5                	jne    0x40c360
40c36b:	2b ca                	sub    %edx,%ecx
40c36d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c373:	d1 f9                	sar    $1,%ecx
40c375:	51                   	push   %ecx
40c376:	50                   	push   %eax
40c377:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40c37d:	e8 7e 6c ff ff       	call   0x403000
40c382:	8b ce                	mov    %esi,%ecx
40c384:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c38b:	c7 85 a0 fd ff ff 00 	movl   $0x0,-0x260(%ebp)
40c392:	00 00 00
40c395:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
40c39c:	00 00 00
40c39f:	c7 85 b4 fd ff ff 00 	movl   $0x0,-0x24c(%ebp)
40c3a6:	00 00 00
40c3a9:	8d 51 02             	lea    0x2(%ecx),%edx
40c3ac:	0f 1f 40 00          	nopl   0x0(%eax)
40c3b0:	66 8b 01             	mov    (%ecx),%ax
40c3b3:	83 c1 02             	add    $0x2,%ecx
40c3b6:	66 85 c0             	test   %ax,%ax
40c3b9:	75 f5                	jne    0x40c3b0
40c3bb:	2b ca                	sub    %edx,%ecx
40c3bd:	d1 f9                	sar    $1,%ecx
40c3bf:	51                   	push   %ecx
40c3c0:	56                   	push   %esi
40c3c1:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
40c3c7:	e8 34 6c ff ff       	call   0x403000
40c3cc:	8d 95 a0 fd ff ff    	lea    -0x260(%ebp),%edx
40c3d2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c3d6:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40c3dc:	e8 6f 93 00 00       	call   0x415750
40c3e1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40c3e5:	8a d8                	mov    %al,%bl
40c3e7:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
40c3ed:	83 f9 08             	cmp    $0x8,%ecx
40c3f0:	72 35                	jb     0x40c427
40c3f2:	8b 95 a0 fd ff ff    	mov    -0x260(%ebp),%edx
40c3f8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c3ff:	8b c2                	mov    %edx,%eax
40c401:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c407:	72 14                	jb     0x40c41d
40c409:	8b 50 fc             	mov    -0x4(%eax),%edx
40c40c:	83 c1 23             	add    $0x23,%ecx
40c40f:	2b c2                	sub    %edx,%eax
40c411:	83 c0 fc             	add    $0xfffffffc,%eax
40c414:	83 f8 1f             	cmp    $0x1f,%eax
40c417:	0f 87 98 00 00 00    	ja     0x40c4b5
40c41d:	51                   	push   %ecx
40c41e:	52                   	push   %edx
40c41f:	e8 94 d7 00 00       	call   0x419bb8
40c424:	83 c4 08             	add    $0x8,%esp
40c427:	84 db                	test   %bl,%bl
40c429:	74 29                	je     0x40c454
40c42b:	8d 4f 4c             	lea    0x4c(%edi),%ecx
40c42e:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40c434:	3b c8                	cmp    %eax,%ecx
40c436:	74 1a                	je     0x40c452
40c438:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40c43f:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
40c445:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40c44c:	50                   	push   %eax
40c44d:	e8 9e 6a ff ff       	call   0x402ef0
40c452:	b3 01                	mov    $0x1,%bl
40c454:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
40c45a:	83 f9 08             	cmp    $0x8,%ecx
40c45d:	72 31                	jb     0x40c490
40c45f:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
40c465:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c46c:	8b c2                	mov    %edx,%eax
40c46e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c474:	72 10                	jb     0x40c486
40c476:	8b 50 fc             	mov    -0x4(%eax),%edx
40c479:	83 c1 23             	add    $0x23,%ecx
40c47c:	2b c2                	sub    %edx,%eax
40c47e:	83 c0 fc             	add    $0xfffffffc,%eax
40c481:	83 f8 1f             	cmp    $0x1f,%eax
40c484:	77 34                	ja     0x40c4ba
40c486:	51                   	push   %ecx
40c487:	52                   	push   %edx
40c488:	e8 2b d7 00 00       	call   0x419bb8
40c48d:	83 c4 08             	add    $0x8,%esp
40c490:	8a c3                	mov    %bl,%al
40c492:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c495:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c49c:	59                   	pop    %ecx
40c49d:	5f                   	pop    %edi
40c49e:	5e                   	pop    %esi
40c49f:	5b                   	pop    %ebx
40c4a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c4a3:	33 cd                	xor    %ebp,%ecx
40c4a5:	e8 00 d7 00 00       	call   0x419baa
40c4aa:	8b e5                	mov    %ebp,%esp
40c4ac:	5d                   	pop    %ebp
40c4ad:	c2 04 00             	ret    $0x4
40c4b0:	e8 de 34 01 00       	call   0x41f993
40c4b5:	e8 d9 34 01 00       	call   0x41f993
40c4ba:	e8 d4 34 01 00       	call   0x41f993
40c4bf:	cc                   	int3
40c4c0:	55                   	push   %ebp
40c4c1:	8b ec                	mov    %esp,%ebp
40c4c3:	6a ff                	push   $0xffffffff
40c4c5:	68 cd c3 43 00       	push   $0x43c3cd
40c4ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c4d0:	50                   	push   %eax
40c4d1:	83 ec 48             	sub    $0x48,%esp
40c4d4:	a1 14 50 45 00       	mov    0x455014,%eax
40c4d9:	33 c5                	xor    %ebp,%eax
40c4db:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c4de:	53                   	push   %ebx
40c4df:	56                   	push   %esi
40c4e0:	57                   	push   %edi
40c4e1:	50                   	push   %eax
40c4e2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c4e5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c4eb:	8b f9                	mov    %ecx,%edi
40c4ed:	80 7f 6c 00          	cmpb   $0x0,0x6c(%edi)
40c4f1:	75 07                	jne    0x40c4fa
40c4f3:	32 c0                	xor    %al,%al
40c4f5:	e9 f6 01 00 00       	jmp    0x40c6f0
40c4fa:	8d 47 4c             	lea    0x4c(%edi),%eax
40c4fd:	50                   	push   %eax
40c4fe:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40c501:	e8 ba 6d ff ff       	call   0x4032c0
40c506:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40c50d:	8d 5f 34             	lea    0x34(%edi),%ebx
40c510:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
40c514:	75 16                	jne    0x40c52c
40c516:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40c51a:	8b c3                	mov    %ebx,%eax
40c51c:	72 02                	jb     0x40c520
40c51e:	8b 03                	mov    (%ebx),%eax
40c520:	50                   	push   %eax
40c521:	8b cf                	mov    %edi,%ecx
40c523:	e8 f8 fc ff ff       	call   0x40c220
40c528:	84 c0                	test   %al,%al
40c52a:	74 1e                	je     0x40c54a
40c52c:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
40c530:	8d 4f 68             	lea    0x68(%edi),%ecx
40c533:	75 1c                	jne    0x40c551
40c535:	8b 07                	mov    (%edi),%eax
40c537:	51                   	push   %ecx
40c538:	8b 30                	mov    (%eax),%esi
40c53a:	8b ce                	mov    %esi,%ecx
40c53c:	ff 15 5c e2 43 00    	call   *0x43e25c
40c542:	8b cf                	mov    %edi,%ecx
40c544:	ff d6                	call   *%esi
40c546:	84 c0                	test   %al,%al
40c548:	75 07                	jne    0x40c551
40c54a:	32 db                	xor    %bl,%bl
40c54c:	e9 67 01 00 00       	jmp    0x40c6b8
40c551:	83 bf 90 00 00 00 00 	cmpl   $0x0,0x90(%edi)
40c558:	75 1f                	jne    0x40c579
40c55a:	6a 04                	push   $0x4
40c55c:	e8 65 d6 00 00       	call   0x419bc6
40c561:	83 c4 04             	add    $0x4,%esp
40c564:	89 45 ac             	mov    %eax,-0x54(%ebp)
40c567:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c56d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40c573:	89 87 90 00 00 00    	mov    %eax,0x90(%edi)
40c579:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40c57d:	72 02                	jb     0x40c581
40c57f:	8b 1b                	mov    (%ebx),%ebx
40c581:	8b cb                	mov    %ebx,%ecx
40c583:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40c58a:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40c591:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
40c598:	8d 51 02             	lea    0x2(%ecx),%edx