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)
40f582:	89 85 b8 ef ff ff    	mov    %eax,-0x1048(%ebp)
40f588:	c7 85 bc ef ff ff 07 	movl   $0x7,-0x1044(%ebp)
40f58f:	00 00 00
40f592:	66 89 85 a8 ef ff ff 	mov    %ax,-0x1058(%ebp)
40f599:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f59d:	85 db                	test   %ebx,%ebx
40f59f:	0f 84 86 00 00 00    	je     0x40f62b
40f5a5:	8b cb                	mov    %ebx,%ecx
40f5a7:	89 85 d8 ef ff ff    	mov    %eax,-0x1028(%ebp)
40f5ad:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
40f5b3:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
40f5b9:	8d 51 01             	lea    0x1(%ecx),%edx
40f5bc:	0f 1f 40 00          	nopl   0x0(%eax)
40f5c0:	8a 01                	mov    (%ecx),%al
40f5c2:	41                   	inc    %ecx
40f5c3:	84 c0                	test   %al,%al
40f5c5:	75 f9                	jne    0x40f5c0
40f5c7:	2b ca                	sub    %edx,%ecx
40f5c9:	51                   	push   %ecx
40f5ca:	53                   	push   %ebx
40f5cb:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f5d1:	e8 ba 70 ff ff       	call   0x406690
40f5d6:	8d 95 78 ef ff ff    	lea    -0x1088(%ebp),%edx
40f5dc:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40f5e0:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f5e6:	e8 25 5e 00 00       	call   0x415410
40f5eb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f5ef:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f5f5:	83 f9 10             	cmp    $0x10,%ecx
40f5f8:	72 43                	jb     0x40f63d
40f5fa:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f600:	41                   	inc    %ecx
40f601:	8b c2                	mov    %edx,%eax
40f603:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f609:	72 14                	jb     0x40f61f
40f60b:	8b 50 fc             	mov    -0x4(%eax),%edx
40f60e:	83 c1 23             	add    $0x23,%ecx
40f611:	2b c2                	sub    %edx,%eax
40f613:	83 c0 fc             	add    $0xfffffffc,%eax
40f616:	83 f8 1f             	cmp    $0x1f,%eax
40f619:	0f 87 3d 04 00 00    	ja     0x40fa5c
40f61f:	51                   	push   %ecx
40f620:	52                   	push   %edx
40f621:	e8 92 a5 00 00       	call   0x419bb8
40f626:	83 c4 08             	add    $0x8,%esp
40f629:	eb 12                	jmp    0x40f63d
40f62b:	6a 00                	push   $0x0
40f62d:	68 54 9f 44 00       	push   $0x449f54
40f632:	8d 8d 78 ef ff ff    	lea    -0x1088(%ebp),%ecx
40f638:	e8 b3 38 ff ff       	call   0x402ef0
40f63d:	85 f6                	test   %esi,%esi
40f63f:	0f 84 8e 00 00 00    	je     0x40f6d3
40f645:	8b ce                	mov    %esi,%ecx
40f647:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40f64e:	00 00 00
40f651:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
40f658:	00 00 00
40f65b:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
40f662:	00 00 00
40f665:	8d 51 01             	lea    0x1(%ecx),%edx
40f668:	8a 01                	mov    (%ecx),%al
40f66a:	41                   	inc    %ecx
40f66b:	84 c0                	test   %al,%al
40f66d:	75 f9                	jne    0x40f668
40f66f:	2b ca                	sub    %edx,%ecx
40f671:	51                   	push   %ecx
40f672:	56                   	push   %esi
40f673:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f679:	e8 12 70 ff ff       	call   0x406690
40f67e:	8d 95 90 ef ff ff    	lea    -0x1070(%ebp),%edx
40f684:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40f688:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f68e:	e8 7d 5d 00 00       	call   0x415410
40f693:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f697:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f69d:	83 f9 10             	cmp    $0x10,%ecx
40f6a0:	72 43                	jb     0x40f6e5
40f6a2:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f6a8:	41                   	inc    %ecx
40f6a9:	8b c2                	mov    %edx,%eax
40f6ab:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f6b1:	72 14                	jb     0x40f6c7
40f6b3:	8b 50 fc             	mov    -0x4(%eax),%edx
40f6b6:	83 c1 23             	add    $0x23,%ecx
40f6b9:	2b c2                	sub    %edx,%eax
40f6bb:	83 c0 fc             	add    $0xfffffffc,%eax
40f6be:	83 f8 1f             	cmp    $0x1f,%eax
40f6c1:	0f 87 9a 03 00 00    	ja     0x40fa61
40f6c7:	51                   	push   %ecx
40f6c8:	52                   	push   %edx
40f6c9:	e8 ea a4 00 00       	call   0x419bb8
40f6ce:	83 c4 08             	add    $0x8,%esp
40f6d1:	eb 12                	jmp    0x40f6e5
40f6d3:	6a 00                	push   $0x0
40f6d5:	68 54 9f 44 00       	push   $0x449f54
40f6da:	8d 8d 90 ef ff ff    	lea    -0x1070(%ebp),%ecx
40f6e0:	e8 0b 38 ff ff       	call   0x402ef0
40f6e5:	8b 85 5c ef ff ff    	mov    -0x10a4(%ebp),%eax
40f6eb:	85 c0                	test   %eax,%eax
40f6ed:	75 08                	jne    0x40f6f7
40f6ef:	8b 9d 6c ef ff ff    	mov    -0x1094(%ebp),%ebx
40f6f5:	eb 2f                	jmp    0x40f726
40f6f7:	50                   	push   %eax
40f6f8:	6a 00                	push   $0x0
40f6fa:	ff b5 6c ef ff ff    	push   -0x1094(%ebp)
40f700:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
40f706:	6a ff                	push   $0xffffffff
40f708:	68 ff 0f 00 00       	push   $0xfff
40f70d:	50                   	push   %eax
40f70e:	e8 cd 4f ff ff       	call   0x4046e0
40f713:	ff 70 04             	push   0x4(%eax)
40f716:	ff 30                	push   (%eax)
40f718:	e8 ed 3d 01 00       	call   0x42350a
40f71d:	83 c4 20             	add    $0x20,%esp
40f720:	8d 9d f0 ef ff ff    	lea    -0x1010(%ebp),%ebx
40f726:	8b cb                	mov    %ebx,%ecx
40f728:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40f72f:	00 00 00
40f732:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
40f739:	00 00 00
40f73c:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
40f743:	00 00 00
40f746:	8d 51 01             	lea    0x1(%ecx),%edx
40f749:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
40f750:	8a 01                	mov    (%ecx),%al
40f752:	41                   	inc    %ecx
40f753:	84 c0                	test   %al,%al
40f755:	75 f9                	jne    0x40f750
40f757:	2b ca                	sub    %edx,%ecx
40f759:	51                   	push   %ecx
40f75a:	53                   	push   %ebx
40f75b:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f761:	e8 2a 6f ff ff       	call   0x406690
40f766:	8d 95 a8 ef ff ff    	lea    -0x1058(%ebp),%edx
40f76c:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40f770:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
40f776:	e8 95 5c 00 00       	call   0x415410
40f77b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40f77f:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
40f785:	83 f9 10             	cmp    $0x10,%ecx
40f788:	72 2f                	jb     0x40f7b9
40f78a:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
40f790:	41                   	inc    %ecx
40f791:	8b c2                	mov    %edx,%eax
40f793:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f799:	72 14                	jb     0x40f7af
40f79b:	8b 50 fc             	mov    -0x4(%eax),%edx
40f79e:	83 c1 23             	add    $0x23,%ecx
40f7a1:	2b c2                	sub    %edx,%eax
40f7a3:	83 c0 fc             	add    $0xfffffffc,%eax
40f7a6:	83 f8 1f             	cmp    $0x1f,%eax
40f7a9:	0f 87 b7 02 00 00    	ja     0x40fa66
40f7af:	51                   	push   %ecx
40f7b0:	52                   	push   %edx
40f7b1:	e8 02 a4 00 00       	call   0x419bb8
40f7b6:	83 c4 08             	add    $0x8,%esp
40f7b9:	83 bd bc ef ff ff 08 	cmpl   $0x8,-0x1044(%ebp)
40f7c0:	8d 95 a8 ef ff ff    	lea    -0x1058(%ebp),%edx
40f7c6:	8d 8d 90 ef ff ff    	lea    -0x1070(%ebp),%ecx
40f7cc:	0f 43 95 a8 ef ff ff 	cmovae -0x1058(%ebp),%edx
40f7d3:	8d b5 c0 ef ff ff    	lea    -0x1040(%ebp),%esi
40f7d9:	83 bd a4 ef ff ff 08 	cmpl   $0x8,-0x105c(%ebp)
40f7e0:	8d 85 78 ef ff ff    	lea    -0x1088(%ebp),%eax
40f7e6:	56                   	push   %esi
40f7e7:	0f 43 8d 90 ef ff ff 	cmovae -0x1070(%ebp),%ecx
40f7ee:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
40f7f5:	52                   	push   %edx
40f7f6:	0f 43 85 78 ef ff ff 	cmovae -0x1088(%ebp),%eax
40f7fd:	51                   	push   %ecx
40f7fe:	50                   	push   %eax
40f7ff:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
40f805:	8b cf                	mov    %edi,%ecx
40f807:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
40f80d:	ff b5 74 ef ff ff    	push   -0x108c(%ebp)
40f813:	ff b5 70 ef ff ff    	push   -0x1090(%ebp)