40f04d:	cc                   	int3
40f04e:	cc                   	int3
40f04f:	cc                   	int3
40f050:	55                   	push   %ebp
40f051:	8b ec                	mov    %esp,%ebp
40f053:	6a ff                	push   $0xffffffff
40f055:	68 71 c6 43 00       	push   $0x43c671
40f05a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f060:	50                   	push   %eax
40f061:	81 ec 74 02 00 00    	sub    $0x274,%esp
40f067:	a1 14 50 45 00       	mov    0x455014,%eax
40f06c:	33 c5                	xor    %ebp,%eax
40f06e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f071:	53                   	push   %ebx
40f072:	56                   	push   %esi
40f073:	57                   	push   %edi
40f074:	50                   	push   %eax
40f075:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f078:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f07e:	8b f9                	mov    %ecx,%edi
40f080:	8d 77 4c             	lea    0x4c(%edi),%esi
40f083:	56                   	push   %esi
40f084:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40f08a:	e8 31 42 ff ff       	call   0x4032c0
40f08f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40f096:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40f09c:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40f0a3:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40f0aa:	50                   	push   %eax
40f0ab:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40f0b1:	68 04 01 00 00       	push   $0x104
40f0b6:	50                   	push   %eax
40f0b7:	e8 aa 47 01 00       	call   0x423866
40f0bc:	83 c4 0c             	add    $0xc,%esp
40f0bf:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40f0c5:	50                   	push   %eax
40f0c6:	ff 15 24 e2 43 00    	call   *0x43e224
40f0cc:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40f0d2:	8d 51 02             	lea    0x2(%ecx),%edx
40f0d5:	66 8b 01             	mov    (%ecx),%ax
40f0d8:	83 c1 02             	add    $0x2,%ecx
40f0db:	66 85 c0             	test   %ax,%ax
40f0de:	75 f5                	jne    0x40f0d5
40f0e0:	2b ca                	sub    %edx,%ecx
40f0e2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40f0e8:	d1 f9                	sar    $1,%ecx
40f0ea:	51                   	push   %ecx
40f0eb:	50                   	push   %eax
40f0ec:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40f0f2:	e8 f9 3d ff ff       	call   0x402ef0
40f0f7:	33 c0                	xor    %eax,%eax
40f0f9:	c7 85 a0 fd ff ff 00 	movl   $0x0,-0x260(%ebp)
40f100:	00 00 00
40f103:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
40f10a:	00 00 00
40f10d:	c7 85 b4 fd ff ff 07 	movl   $0x7,-0x24c(%ebp)
40f114:	00 00 00
40f117:	66 89 85 a0 fd ff ff 	mov    %ax,-0x260(%ebp)
40f11e:	8d 8d a0 fd ff ff    	lea    -0x260(%ebp),%ecx
40f124:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40f128:	e8 23 65 00 00       	call   0x415650
40f12d:	8b 8d b0 fd ff ff    	mov    -0x250(%ebp),%ecx
40f133:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
40f138:	2b c1                	sub    %ecx,%eax
40f13a:	83 f8 01             	cmp    $0x1,%eax
40f13d:	0f 82 70 02 00 00    	jb     0x40f3b3
40f143:	83 bd b4 fd ff ff 08 	cmpl   $0x8,-0x24c(%ebp)
40f14a:	8d 85 a0 fd ff ff    	lea    -0x260(%ebp),%eax
40f150:	51                   	push   %ecx
40f151:	0f 43 85 a0 fd ff ff 	cmovae -0x260(%ebp),%eax
40f158:	50                   	push   %eax
40f159:	6a 01                	push   $0x1
40f15b:	68 28 f0 44 00       	push   $0x44f028
40f160:	51                   	push   %ecx
40f161:	ff b5 9c fd ff ff    	push   -0x264(%ebp)
40f167:	8d 8d 84 fd ff ff    	lea    -0x27c(%ebp),%ecx
40f16d:	e8 7e 61 ff ff       	call   0x4052f0
40f172:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40f176:	8d 85 84 fd ff ff    	lea    -0x27c(%ebp),%eax
40f17c:	83 bd 98 fd ff ff 08 	cmpl   $0x8,-0x268(%ebp)
40f183:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40f189:	ff b5 94 fd ff ff    	push   -0x26c(%ebp)
40f18f:	0f 43 85 84 fd ff ff 	cmovae -0x27c(%ebp),%eax
40f196:	50                   	push   %eax
40f197:	e8 d4 3b ff ff       	call   0x402d70
40f19c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40f1a0:	8b 8d 98 fd ff ff    	mov    -0x268(%ebp),%ecx
40f1a6:	83 f9 08             	cmp    $0x8,%ecx
40f1a9:	72 35                	jb     0x40f1e0
40f1ab:	8b 95 84 fd ff ff    	mov    -0x27c(%ebp),%edx
40f1b1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f1b8:	8b c2                	mov    %edx,%eax
40f1ba:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f1c0:	72 14                	jb     0x40f1d6
40f1c2:	8b 50 fc             	mov    -0x4(%eax),%edx
40f1c5:	83 c1 23             	add    $0x23,%ecx
40f1c8:	2b c2                	sub    %edx,%eax
40f1ca:	83 c0 fc             	add    $0xfffffffc,%eax
40f1cd:	83 f8 1f             	cmp    $0x1f,%eax
40f1d0:	0f 87 e2 01 00 00    	ja     0x40f3b8
40f1d6:	51                   	push   %ecx
40f1d7:	52                   	push   %edx
40f1d8:	e8 db a9 00 00       	call   0x419bb8
40f1dd:	83 c4 08             	add    $0x8,%esp
40f1e0:	33 c0                	xor    %eax,%eax
40f1e2:	c7 85 b8 fd ff ff 00 	movl   $0x0,-0x248(%ebp)
40f1e9:	00 00 00
40f1ec:	c7 85 c8 fd ff ff 00 	movl   $0x0,-0x238(%ebp)
40f1f3:	00 00 00
40f1f6:	c7 85 cc fd ff ff 07 	movl   $0x7,-0x234(%ebp)
40f1fd:	00 00 00
40f200:	66 89 85 b8 fd ff ff 	mov    %ax,-0x248(%ebp)
40f207:	8d 95 b8 fd ff ff    	lea    -0x248(%ebp),%edx
40f20d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f211:	8b ce                	mov    %esi,%ecx
40f213:	e8 a8 67 00 00       	call   0x4159c0
40f218:	8d 95 b8 fd ff ff    	lea    -0x248(%ebp),%edx
40f21e:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40f224:	e8 c7 65 00 00       	call   0x4157f0
40f229:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40f230:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40f236:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40f23d:	50                   	push   %eax
40f23e:	ff 15 14 e2 43 00    	call   *0x43e214
40f244:	83 f8 01             	cmp    $0x1,%eax
40f247:	74 75                	je     0x40f2be
40f249:	6a 00                	push   $0x0
40f24b:	8b ce                	mov    %esi,%ecx
40f24d:	e8 6e 58 00 00       	call   0x414ac0
40f252:	83 c4 04             	add    $0x4,%esp
40f255:	85 c0                	test   %eax,%eax
40f257:	75 65                	jne    0x40f2be
40f259:	39 46 10             	cmp    %eax,0x10(%esi)
40f25c:	74 60                	je     0x40f2be
40f25e:	39 85 e0 fd ff ff    	cmp    %eax,-0x220(%ebp)
40f264:	74 58                	je     0x40f2be
40f266:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40f26d:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40f273:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40f27a:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40f27e:	72 02                	jb     0x40f282
40f280:	8b 36                	mov    (%esi),%esi
40f282:	50                   	push   %eax
40f283:	56                   	push   %esi
40f284:	e8 c6 6e 01 00       	call   0x42614f
40f289:	83 c4 08             	add    $0x8,%esp
40f28c:	85 c0                	test   %eax,%eax
40f28e:	75 2e                	jne    0x40f2be
40f290:	8d 8f d4 00 00 00    	lea    0xd4(%edi),%ecx
40f296:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
40f29c:	3b c8                	cmp    %eax,%ecx
40f29e:	74 1a                	je     0x40f2ba
40f2a0:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40f2a7:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
40f2ad:	0f 43 85 d0 fd ff ff 	cmovae -0x230(%ebp),%eax
40f2b4:	50                   	push   %eax
40f2b5:	e8 36 3c ff ff       	call   0x402ef0
40f2ba:	b3 01                	mov    $0x1,%bl
40f2bc:	eb 02                	jmp    0x40f2c0
40f2be:	32 db                	xor    %bl,%bl
40f2c0:	8b 8d cc fd ff ff    	mov    -0x234(%ebp),%ecx
40f2c6:	83 f9 08             	cmp    $0x8,%ecx
40f2c9:	72 35                	jb     0x40f300
40f2cb:	8b 95 b8 fd ff ff    	mov    -0x248(%ebp),%edx
40f2d1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f2d8:	8b c2                	mov    %edx,%eax
40f2da:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f2e0:	72 14                	jb     0x40f2f6
40f2e2:	8b 50 fc             	mov    -0x4(%eax),%edx
40f2e5:	83 c1 23             	add    $0x23,%ecx
40f2e8:	2b c2                	sub    %edx,%eax
40f2ea:	83 c0 fc             	add    $0xfffffffc,%eax
40f2ed:	83 f8 1f             	cmp    $0x1f,%eax
40f2f0:	0f 87 c2 00 00 00    	ja     0x40f3b8
40f2f6:	51                   	push   %ecx
40f2f7:	52                   	push   %edx
40f2f8:	e8 bb a8 00 00       	call   0x419bb8
40f2fd:	83 c4 08             	add    $0x8,%esp
40f300:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
40f306:	33 c0                	xor    %eax,%eax
40f308:	c7 85 c8 fd ff ff 00 	movl   $0x0,-0x238(%ebp)
40f30f:	00 00 00
40f312:	c7 85 cc fd ff ff 07 	movl   $0x7,-0x234(%ebp)
40f319:	00 00 00
40f31c:	66 89 85 b8 fd ff ff 	mov    %ax,-0x248(%ebp)
40f323:	83 f9 08             	cmp    $0x8,%ecx
40f326:	72 31                	jb     0x40f359
40f328:	8b 95 a0 fd ff ff    	mov    -0x260(%ebp),%edx
40f32e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f335:	8b c2                	mov    %edx,%eax
40f337:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f33d:	72 10                	jb     0x40f34f
40f33f:	8b 50 fc             	mov    -0x4(%eax),%edx
40f342:	83 c1 23             	add    $0x23,%ecx
40f345:	2b c2                	sub    %edx,%eax
40f347:	83 c0 fc             	add    $0xfffffffc,%eax
40f34a:	83 f8 1f             	cmp    $0x1f,%eax
40f34d:	77 69                	ja     0x40f3b8
40f34f:	51                   	push   %ecx
40f350:	52                   	push   %edx
40f351:	e8 62 a8 00 00       	call   0x419bb8
40f356:	83 c4 08             	add    $0x8,%esp
40f359:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
40f35f:	83 f9 08             	cmp    $0x8,%ecx
40f362:	72 31                	jb     0x40f395
40f364:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
40f36a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f371:	8b c2                	mov    %edx,%eax
40f373:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f379:	72 10                	jb     0x40f38b
40f37b:	8b 50 fc             	mov    -0x4(%eax),%edx
40f37e:	83 c1 23             	add    $0x23,%ecx
40f381:	2b c2                	sub    %edx,%eax
40f383:	83 c0 fc             	add    $0xfffffffc,%eax
40f386:	83 f8 1f             	cmp    $0x1f,%eax
40f389:	77 2d                	ja     0x40f3b8
40f38b:	51                   	push   %ecx
40f38c:	52                   	push   %edx
40f38d:	e8 26 a8 00 00       	call   0x419bb8
40f392:	83 c4 08             	add    $0x8,%esp
40f395:	8a c3                	mov    %bl,%al
40f397:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f39a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f3a1:	59                   	pop    %ecx
40f3a2:	5f                   	pop    %edi
40f3a3:	5e                   	pop    %esi
40f3a4:	5b                   	pop    %ebx
40f3a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f3a8:	33 cd                	xor    %ebp,%ecx
40f3aa:	e8 fb a7 00 00       	call   0x419baa
40f3af:	8b e5                	mov    %ebp,%esp
40f3b1:	5d                   	pop    %ebp
40f3b2:	c3                   	ret
40f3b3:	e8 a8 1f ff ff       	call   0x401360
40f3b8:	e8 d6 05 01 00       	call   0x41f993
40f3bd:	cc                   	int3
40f3be:	cc                   	int3
40f3bf:	cc                   	int3
40f3c0:	55                   	push   %ebp
40f3c1:	8b ec                	mov    %esp,%ebp
40f3c3:	6a ff                	push   $0xffffffff
40f3c5:	68 fd c6 43 00       	push   $0x43c6fd
40f3ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f3d0:	50                   	push   %eax
40f3d1:	b8 a0 10 00 00       	mov    $0x10a0,%eax
40f3d6:	e8 95 b5 00 00       	call   0x41a970
40f3db:	a1 14 50 45 00       	mov    0x455014,%eax
40f3e0:	33 c5                	xor    %ebp,%eax
40f3e2:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f3e5:	53                   	push   %ebx
40f3e6:	56                   	push   %esi
40f3e7:	57                   	push   %edi
40f3e8:	50                   	push   %eax
40f3e9:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f3ec:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f3f2:	8b f9                	mov    %ecx,%edi
40f3f4:	8b 45 14             	mov    0x14(%ebp),%eax
40f3f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40f3fa:	8b 55 10             	mov    0x10(%ebp),%edx
40f3fd:	8b 75 20             	mov    0x20(%ebp),%esi
40f400:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40f403:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
40f409:	8b 45 18             	mov    0x18(%ebp),%eax
40f40c:	89 85 68 ef ff ff    	mov    %eax,-0x1098(%ebp)
40f412:	8b 45 24             	mov    0x24(%ebp),%eax
40f415:	89 85 6c ef ff ff    	mov    %eax,-0x1094(%ebp)
40f41b:	8b 45 28             	mov    0x28(%ebp),%eax
40f41e:	89 85 5c ef ff ff    	mov    %eax,-0x10a4(%ebp)
40f424:	8b 45 08             	mov    0x8(%ebp),%eax
40f427:	89 8d 70 ef ff ff    	mov    %ecx,-0x1090(%ebp)
40f42d:	89 95 74 ef ff ff    	mov    %edx,-0x108c(%ebp)
40f433:	89 b5 60 ef ff ff    	mov    %esi,-0x10a0(%ebp)
40f439:	39 47 64             	cmp    %eax,0x64(%edi)
40f43c:	0f 8f fa 05 00 00    	jg     0x40fa3c
40f442:	80 7d 34 00          	cmpb   $0x0,0x34(%ebp)
40f446:	0f 84 98 00 00 00    	je     0x40f4e4
40f44c:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40f452:	85 c0                	test   %eax,%eax
40f454:	74 76                	je     0x40f4cc
40f456:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40f45d:	74 6d                	je     0x40f4cc
40f45f:	8b 00                	mov    (%eax),%eax
40f461:	85 c0                	test   %eax,%eax
40f463:	74 67                	je     0x40f4cc
40f465:	68 d0 07 00 00       	push   $0x7d0
40f46a:	50                   	push   %eax
40f46b:	ff 15 2c e1 43 00    	call   *0x43e12c
40f471:	85 c0                	test   %eax,%eax
40f473:	74 07                	je     0x40f47c
40f475:	3d 80 00 00 00       	cmp    $0x80,%eax
40f47a:	75 50                	jne    0x40f4cc
40f47c:	8b 8f f8 00 00 00    	mov    0xf8(%edi),%ecx
40f482:	2b 8f f0 00 00 00    	sub    0xf0(%edi),%ecx
40f488:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
40f48e:	1b 87 f4 00 00 00    	sbb    0xf4(%edi),%eax
40f494:	78 42                	js     0x40f4d8
40f496:	7f 08                	jg     0x40f4a0
40f498:	81 f9 84 03 00 00    	cmp    $0x384,%ecx
40f49e:	72 38                	jb     0x40f4d8
40f4a0:	51                   	push   %ecx
40f4a1:	8b cf                	mov    %edi,%ecx
40f4a3:	e8 18 67 00 00       	call   0x415bc0
40f4a8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
40f4ae:	84 c0                	test   %al,%al
40f4b0:	74 2c                	je     0x40f4de
40f4b2:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
40f4b8:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
40f4be:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
40f4c4:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
40f4ca:	eb 12                	jmp    0x40f4de
40f4cc:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
40f4d3:	e9 64 05 00 00       	jmp    0x40fa3c
40f4d8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
40f4de:	8b 8d 70 ef ff ff    	mov    -0x1090(%ebp),%ecx
40f4e4:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
40f4eb:	74 2b                	je     0x40f518
40f4ed:	8b 37                	mov    (%edi),%esi
40f4ef:	6a 00                	push   $0x0
40f4f1:	6a 00                	push   $0x0
40f4f3:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
40f4f9:	8b 76 18             	mov    0x18(%esi),%esi
40f4fc:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
40f502:	52                   	push   %edx
40f503:	51                   	push   %ecx
40f504:	6a 1e                	push   $0x1e
40f506:	8b ce                	mov    %esi,%ecx
40f508:	ff 15 5c e2 43 00    	call   *0x43e25c
40f50e:	8b cf                	mov    %edi,%ecx
40f510:	ff d6                	call   *%esi
40f512:	8b b5 60 ef ff ff    	mov    -0x10a0(%ebp),%esi
40f518:	33 c0                	xor    %eax,%eax
40f51a:	c7 85 78 ef ff ff 00 	movl   $0x0,-0x1088(%ebp)
40f521:	00 00 00
40f524:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
40f52b:	00 00 00
40f52e:	c7 85 8c ef ff ff 07 	movl   $0x7,-0x1074(%ebp)
40f535:	00 00 00
40f538:	66 89 85 78 ef ff ff 	mov    %ax,-0x1088(%ebp)
40f53f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f542:	89 85 90 ef ff ff    	mov    %eax,-0x1070(%ebp)
40f548:	89 85 a0 ef ff ff    	mov    %eax,-0x1060(%ebp)
40f54e:	c7 85 a4 ef ff ff 07 	movl   $0x7,-0x105c(%ebp)
40f555:	00 00 00
40f558:	66 89 85 90 ef ff ff 	mov    %ax,-0x1070(%ebp)
40f55f:	89 85 c0 ef ff ff    	mov    %eax,-0x1040(%ebp)
40f565:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
40f56b:	c7 85 d4 ef ff ff 07 	movl   $0x7,-0x102c(%ebp)
40f572:	00 00 00
40f575:	66 89 85 c0 ef ff ff 	mov    %ax,-0x1040(%ebp)
40f57c:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)