40d4fc:	be d8 63 40 00       	mov    $0x4063d8,%esi
40d501:	0f b7 06             	movzwl (%esi),%eax
40d504:	66 85 c0             	test   %ax,%ax
40d507:	74 51                	je     0x40d55a
40d509:	83 f8 7f             	cmp    $0x7f,%eax
40d50c:	0f 87 cf a9 01 00    	ja     0x427ee1
40d512:	8d 48 bf             	lea    -0x41(%eax),%ecx
40d515:	66 83 f9 19          	cmp    $0x19,%cx
40d519:	76 2f                	jbe    0x40d54a
40d51b:	8b d8                	mov    %eax,%ebx
40d51d:	0f b7 0f             	movzwl (%edi),%ecx
40d520:	83 f9 7f             	cmp    $0x7f,%ecx
40d523:	0f 87 ef a9 01 00    	ja     0x427f18
40d529:	8d 41 bf             	lea    -0x41(%ecx),%eax
40d52c:	66 83 f8 19          	cmp    $0x19,%ax
40d530:	76 20                	jbe    0x40d552
40d532:	8b c1                	mov    %ecx,%eax
40d534:	0f b7 c0             	movzwl %ax,%eax
40d537:	0f b7 cb             	movzwl %bx,%ecx
40d53a:	2b c8                	sub    %eax,%ecx
40d53c:	0f 85 0d aa 01 00    	jne    0x427f4f
40d542:	83 c6 02             	add    $0x2,%esi
40d545:	83 c7 02             	add    $0x2,%edi
40d548:	eb b7                	jmp    0x40d501
40d54a:	83 c0 20             	add    $0x20,%eax
40d54d:	0f b7 d8             	movzwl %ax,%ebx
40d550:	eb cb                	jmp    0x40d51d
40d552:	8d 41 20             	lea    0x20(%ecx),%eax
40d555:	0f b7 c0             	movzwl %ax,%eax
40d558:	eb da                	jmp    0x40d534
40d55a:	66 83 3f 00          	cmpw   $0x0,(%edi)
40d55e:	75 a9                	jne    0x40d509
40d560:	8b 5c 24 24          	mov    0x24(%esp),%ebx
40d564:	83 4b 28 01          	orl    $0x1,0x28(%ebx)
40d568:	ff 74 24 28          	push   0x28(%esp)
40d56c:	ff 15 0c 30 45 00    	call   *0x45300c
40d572:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40d576:	40                   	inc    %eax
40d577:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40d57b:	3b 44 24 30          	cmp    0x30(%esp),%eax
40d57f:	0f 8e 5b ff ff ff    	jle    0x40d4e0
40d585:	8b 7d 10             	mov    0x10(%ebp),%edi
40d588:	8d 44 24 40          	lea    0x40(%esp),%eax
40d58c:	50                   	push   %eax
40d58d:	ff 15 1c 30 45 00    	call   *0x45301c
40d593:	8b 44 24 20          	mov    0x20(%esp),%eax
40d597:	85 c0                	test   %eax,%eax
40d599:	78 7a                	js     0x40d615
40d59b:	8d 44 24 40          	lea    0x40(%esp),%eax
40d59f:	50                   	push   %eax
40d5a0:	ff 15 00 30 45 00    	call   *0x453000
40d5a6:	8b 37                	mov    (%edi),%esi
40d5a8:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d5ac:	50                   	push   %eax
40d5ad:	8d 44 24 3c          	lea    0x3c(%esp),%eax
40d5b1:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
40d5b8:	00
40d5b9:	50                   	push   %eax
40d5ba:	8b 76 10             	mov    0x10(%esi),%esi
40d5bd:	8d 44 24 48          	lea    0x48(%esp),%eax
40d5c1:	50                   	push   %eax
40d5c2:	6a 00                	push   $0x0
40d5c4:	68 9c 64 40 00       	push   $0x40649c
40d5c9:	57                   	push   %edi
40d5ca:	8b ce                	mov    %esi,%ecx
40d5cc:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
40d5d3:	00
40d5d4:	ff 15 c4 12 45 00    	call   *0x4512c4
40d5da:	ff d6                	call   *%esi
40d5dc:	85 c0                	test   %eax,%eax
40d5de:	0f 88 2f aa 01 00    	js     0x428013
40d5e4:	66 8b 44 24 40       	mov    0x40(%esp),%ax
40d5e9:	66 83 f8 03          	cmp    $0x3,%ax
40d5ed:	0f 85 09 aa 01 00    	jne    0x427ffc
40d5f3:	8b 44 24 48          	mov    0x48(%esp),%eax
40d5f7:	85 c0                	test   %eax,%eax
40d5f9:	0f 85 db a9 01 00    	jne    0x427fda
40d5ff:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
40d606:	8d 44 24 40          	lea    0x40(%esp),%eax
40d60a:	50                   	push   %eax
40d60b:	ff 15 1c 30 45 00    	call   *0x45301c
40d611:	8b 44 24 20          	mov    0x20(%esp),%eax
40d615:	5f                   	pop    %edi
40d616:	5e                   	pop    %esi
40d617:	5b                   	pop    %ebx
40d618:	8b e5                	mov    %ebp,%esp
40d61a:	5d                   	pop    %ebp
40d61b:	c2 0c 00             	ret    $0xc
40d61e:	66 83 f8 01          	cmp    $0x1,%ax
40d622:	0f 85 91 a9 01 00    	jne    0x427fb9
40d628:	c7 43 28 10 00 00 00 	movl   $0x10,0x28(%ebx)
40d62f:	e9 54 ff ff ff       	jmp    0x40d588
40d634:	33 c0                	xor    %eax,%eax
40d636:	e9 54 fb ff ff       	jmp    0x40d18f
40d63b:	8b c7                	mov    %edi,%eax
40d63d:	eb d6                	jmp    0x40d615
40d63f:	cc                   	int3
40d640:	8b ff                	mov    %edi,%edi
40d642:	55                   	push   %ebp
40d643:	8b ec                	mov    %esp,%ebp
40d645:	6a ff                	push   $0xffffffff
40d647:	68 1a 33 42 00       	push   $0x42331a
40d64c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d652:	50                   	push   %eax
40d653:	83 ec 08             	sub    $0x8,%esp
40d656:	a1 54 02 45 00       	mov    0x450254,%eax
40d65b:	33 c5                	xor    %ebp,%eax
40d65d:	50                   	push   %eax
40d65e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d661:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40d667:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d66a:	8d 41 08             	lea    0x8(%ecx),%eax
40d66d:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
40d673:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
40d67a:	33 d2                	xor    %edx,%edx
40d67c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40d67f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
40d686:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
40d68d:	c7 40 10 04 00 00 00 	movl   $0x4,0x10(%eax)
40d694:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
40d69b:	c7 40 18 02 00 00 00 	movl   $0x2,0x18(%eax)
40d6a2:	c7 40 1c 02 00 00 00 	movl   $0x2,0x1c(%eax)
40d6a9:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
40d6b0:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
40d6b7:	c7 40 28 00 00 00 00 	movl   $0x0,0x28(%eax)
40d6be:	c7 40 2c 00 00 00 00 	movl   $0x0,0x2c(%eax)
40d6c5:	c7 40 30 00 00 00 00 	movl   $0x0,0x30(%eax)
40d6cc:	c7 80 4c 06 00 00 20 	movl   $0x20,0x64c(%eax)
40d6d3:	00 00 00
40d6d6:	66 89 50 34          	mov    %dx,0x34(%eax)
40d6da:	66 89 90 3c 02 00 00 	mov    %dx,0x23c(%eax)
40d6e1:	66 89 90 44 04 00 00 	mov    %dx,0x444(%eax)
40d6e8:	89 55 fc             	mov    %edx,-0x4(%ebp)
40d6eb:	c7 80 50 06 00 00 01 	movl   $0x1,0x650(%eax)
40d6f2:	00 00 00
40d6f5:	c7 80 54 06 00 00 02 	movl   $0x2,0x654(%eax)
40d6fc:	00 00 00
40d6ff:	c7 80 58 06 00 00 01 	movl   $0x1,0x658(%eax)
40d706:	00 00 00
40d709:	89 90 5c 06 00 00    	mov    %edx,0x65c(%eax)
40d70f:	89 90 60 06 00 00    	mov    %edx,0x660(%eax)
40d715:	89 90 64 06 00 00    	mov    %edx,0x664(%eax)
40d71b:	89 90 68 06 00 00    	mov    %edx,0x668(%eax)
40d721:	c7 80 6c 06 00 00 01 	movl   $0x1,0x66c(%eax)
40d728:	00 00 00
40d72b:	89 90 70 06 00 00    	mov    %edx,0x670(%eax)
40d731:	89 90 74 06 00 00    	mov    %edx,0x674(%eax)
40d737:	89 90 78 06 00 00    	mov    %edx,0x678(%eax)
40d73d:	89 90 7c 06 00 00    	mov    %edx,0x67c(%eax)
40d743:	89 90 80 06 00 00    	mov    %edx,0x680(%eax)
40d749:	c7 80 84 06 00 00 01 	movl   $0x1,0x684(%eax)
40d750:	00 00 00
40d753:	89 90 88 06 00 00    	mov    %edx,0x688(%eax)
40d759:	c7 80 8c 06 00 00 c0 	movl   $0x1d4c0,0x68c(%eax)
40d760:	d4 01 00
40d763:	89 90 90 06 00 00    	mov    %edx,0x690(%eax)
40d769:	c7 80 94 06 00 00 c0 	movl   $0x1d4c0,0x694(%eax)
40d770:	d4 01 00
40d773:	89 90 98 06 00 00    	mov    %edx,0x698(%eax)
40d779:	89 90 9c 06 00 00    	mov    %edx,0x69c(%eax)
40d77f:	c7 80 a0 06 00 00 ff 	movl   $0xffffffff,0x6a0(%eax)
40d786:	ff ff ff
40d789:	89 90 a4 06 00 00    	mov    %edx,0x6a4(%eax)
40d78f:	89 90 a8 06 00 00    	mov    %edx,0x6a8(%eax)
40d795:	89 90 ac 06 00 00    	mov    %edx,0x6ac(%eax)
40d79b:	89 90 d0 06 00 00    	mov    %edx,0x6d0(%eax)
40d7a1:	89 90 d4 06 00 00    	mov    %edx,0x6d4(%eax)
40d7a7:	89 90 d8 06 00 00    	mov    %edx,0x6d8(%eax)
40d7ad:	89 90 dc 06 00 00    	mov    %edx,0x6dc(%eax)
40d7b3:	89 90 e0 06 00 00    	mov    %edx,0x6e0(%eax)
40d7b9:	89 90 b0 06 00 00    	mov    %edx,0x6b0(%eax)
40d7bf:	89 90 b4 06 00 00    	mov    %edx,0x6b4(%eax)
40d7c5:	89 90 b8 06 00 00    	mov    %edx,0x6b8(%eax)
40d7cb:	89 90 bc 06 00 00    	mov    %edx,0x6bc(%eax)
40d7d1:	89 90 c0 06 00 00    	mov    %edx,0x6c0(%eax)
40d7d7:	89 90 c4 06 00 00    	mov    %edx,0x6c4(%eax)
40d7dd:	89 90 c8 06 00 00    	mov    %edx,0x6c8(%eax)
40d7e3:	89 90 cc 06 00 00    	mov    %edx,0x6cc(%eax)
40d7e9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40d7f0:	89 91 f0 06 00 00    	mov    %edx,0x6f0(%ecx)
40d7f6:	89 91 f4 06 00 00    	mov    %edx,0x6f4(%ecx)
40d7fc:	89 91 f8 06 00 00    	mov    %edx,0x6f8(%ecx)
40d802:	89 91 fc 06 00 00    	mov    %edx,0x6fc(%ecx)
40d808:	89 91 00 07 00 00    	mov    %edx,0x700(%ecx)
40d80e:	89 91 04 07 00 00    	mov    %edx,0x704(%ecx)
40d814:	89 91 08 07 00 00    	mov    %edx,0x708(%ecx)
40d81a:	89 91 0c 07 00 00    	mov    %edx,0x70c(%ecx)
40d820:	89 91 10 07 00 00    	mov    %edx,0x710(%ecx)
40d826:	89 91 14 07 00 00    	mov    %edx,0x714(%ecx)
40d82c:	89 91 18 07 00 00    	mov    %edx,0x718(%ecx)
40d832:	c7 81 1c 07 00 00 03 	movl   $0x3,0x71c(%ecx)
40d839:	00 00 00
40d83c:	89 91 20 07 00 00    	mov    %edx,0x720(%ecx)
40d842:	c7 81 24 07 00 00 01 	movl   $0x1,0x724(%ecx)
40d849:	00 00 00
40d84c:	89 91 28 07 00 00    	mov    %edx,0x728(%ecx)
40d852:	89 91 2c 07 00 00    	mov    %edx,0x72c(%ecx)
40d858:	89 91 30 07 00 00    	mov    %edx,0x730(%ecx)
40d85e:	89 91 34 07 00 00    	mov    %edx,0x734(%ecx)
40d864:	89 91 38 07 00 00    	mov    %edx,0x738(%ecx)
40d86a:	89 91 3c 07 00 00    	mov    %edx,0x73c(%ecx)
40d870:	89 91 40 07 00 00    	mov    %edx,0x740(%ecx)
40d876:	89 91 44 07 00 00    	mov    %edx,0x744(%ecx)
40d87c:	89 91 48 07 00 00    	mov    %edx,0x748(%ecx)
40d882:	89 91 4c 07 00 00    	mov    %edx,0x74c(%ecx)
40d888:	89 91 50 07 00 00    	mov    %edx,0x750(%ecx)
40d88e:	89 91 54 07 00 00    	mov    %edx,0x754(%ecx)
40d894:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40d898:	89 91 5c 07 00 00    	mov    %edx,0x75c(%ecx)
40d89e:	89 91 60 07 00 00    	mov    %edx,0x760(%ecx)
40d8a4:	89 91 64 07 00 00    	mov    %edx,0x764(%ecx)
40d8aa:	89 91 68 07 00 00    	mov    %edx,0x768(%ecx)
40d8b0:	89 91 6c 07 00 00    	mov    %edx,0x76c(%ecx)
40d8b6:	89 91 70 07 00 00    	mov    %edx,0x770(%ecx)
40d8bc:	89 91 74 07 00 00    	mov    %edx,0x774(%ecx)
40d8c2:	89 91 78 07 00 00    	mov    %edx,0x778(%ecx)
40d8c8:	c7 81 7c 07 00 00 03 	movl   $0x3,0x77c(%ecx)
40d8cf:	00 00 00
40d8d2:	89 91 80 07 00 00    	mov    %edx,0x780(%ecx)
40d8d8:	89 91 84 07 00 00    	mov    %edx,0x784(%ecx)
40d8de:	89 91 88 07 00 00    	mov    %edx,0x788(%ecx)
40d8e4:	89 91 8c 07 00 00    	mov    %edx,0x78c(%ecx)
40d8ea:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40d8ee:	89 91 94 07 00 00    	mov    %edx,0x794(%ecx)
40d8f4:	89 91 98 07 00 00    	mov    %edx,0x798(%ecx)
40d8fa:	89 91 9c 07 00 00    	mov    %edx,0x79c(%ecx)
40d900:	89 91 a0 07 00 00    	mov    %edx,0x7a0(%ecx)
40d906:	89 91 a4 07 00 00    	mov    %edx,0x7a4(%ecx)
40d90c:	89 91 a8 07 00 00    	mov    %edx,0x7a8(%ecx)
40d912:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40d916:	89 91 b0 07 00 00    	mov    %edx,0x7b0(%ecx)
40d91c:	89 91 b4 07 00 00    	mov    %edx,0x7b4(%ecx)
40d922:	89 91 b8 07 00 00    	mov    %edx,0x7b8(%ecx)
40d928:	89 91 bc 07 00 00    	mov    %edx,0x7bc(%ecx)
40d92e:	89 91 c0 07 00 00    	mov    %edx,0x7c0(%ecx)
40d934:	89 91 c4 07 00 00    	mov    %edx,0x7c4(%ecx)
40d93a:	89 91 c8 07 00 00    	mov    %edx,0x7c8(%ecx)
40d940:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40d944:	89 91 d0 07 00 00    	mov    %edx,0x7d0(%ecx)
40d94a:	89 91 d4 07 00 00    	mov    %edx,0x7d4(%ecx)
40d950:	89 91 d8 07 00 00    	mov    %edx,0x7d8(%ecx)
40d956:	89 91 dc 07 00 00    	mov    %edx,0x7dc(%ecx)
40d95c:	89 91 e0 07 00 00    	mov    %edx,0x7e0(%ecx)
40d962:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40d966:	89 91 e8 07 00 00    	mov    %edx,0x7e8(%ecx)
40d96c:	89 91 ec 07 00 00    	mov    %edx,0x7ec(%ecx)
40d972:	89 91 f0 07 00 00    	mov    %edx,0x7f0(%ecx)
40d978:	89 91 f4 07 00 00    	mov    %edx,0x7f4(%ecx)
40d97e:	89 91 f8 07 00 00    	mov    %edx,0x7f8(%ecx)
40d984:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40d988:	89 91 fc 07 00 00    	mov    %edx,0x7fc(%ecx)
40d98e:	89 91 00 08 00 00    	mov    %edx,0x800(%ecx)
40d994:	89 91 04 08 00 00    	mov    %edx,0x804(%ecx)
40d99a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40d9a1:	8b c1                	mov    %ecx,%eax
40d9a3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d9a6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d9ad:	59                   	pop    %ecx
40d9ae:	8b e5                	mov    %ebp,%esp
40d9b0:	5d                   	pop    %ebp
40d9b1:	c3                   	ret
40d9b2:	cc                   	int3
40d9b3:	cc                   	int3
40d9b4:	cc                   	int3
40d9b5:	cc                   	int3
40d9b6:	cc                   	int3
40d9b7:	cc                   	int3
40d9b8:	cc                   	int3
40d9b9:	cc                   	int3
40d9ba:	cc                   	int3
40d9bb:	cc                   	int3
40d9bc:	cc                   	int3
40d9bd:	cc                   	int3
40d9be:	cc                   	int3
40d9bf:	cc                   	int3
40d9c0:	8b ff                	mov    %edi,%edi
40d9c2:	55                   	push   %ebp
40d9c3:	8b ec                	mov    %esp,%ebp
40d9c5:	83 e4 f8             	and    $0xfffffff8,%esp
40d9c8:	83 ec 5c             	sub    $0x5c,%esp
40d9cb:	53                   	push   %ebx
40d9cc:	56                   	push   %esi
40d9cd:	57                   	push   %edi
40d9ce:	8b d9                	mov    %ecx,%ebx
40d9d0:	c7 44 24 40 00 00 00 	movl   $0x0,0x40(%esp)
40d9d7:	00
40d9d8:	68 34 66 40 00       	push   $0x406634
40d9dd:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
40d9e1:	ff 15 10 30 45 00    	call   *0x453010
40d9e7:	89 44 24 54          	mov    %eax,0x54(%esp)
40d9eb:	85 c0                	test   %eax,%eax
40d9ed:	0f 84 0e a8 01 00    	je     0x428201
40d9f3:	8b 93 04 08 00 00    	mov    0x804(%ebx),%edx
40d9f9:	8d 4c 24 40          	lea    0x40(%esp),%ecx
40d9fd:	51                   	push   %ecx
40d9fe:	ff b3 fc 07 00 00    	push   0x7fc(%ebx)
40da04:	8b 32                	mov    (%edx),%esi
40da06:	6a 20                	push   $0x20
40da08:	ff 75 14             	push   0x14(%ebp)
40da0b:	8b 76 50             	mov    0x50(%esi),%esi
40da0e:	8b ce                	mov    %esi,%ecx
40da10:	50                   	push   %eax
40da11:	52                   	push   %edx
40da12:	ff 15 c4 12 45 00    	call   *0x4512c4
40da18:	ff d6                	call   *%esi
40da1a:	8b f8                	mov    %eax,%edi
40da1c:	85 ff                	test   %edi,%edi
40da1e:	0f 88 d3 a7 01 00    	js     0x4281f7
40da24:	8b 4c 24 40          	mov    0x40(%esp),%ecx
40da28:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
40da2f:	00
40da30:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
40da37:	00
40da38:	51                   	push   %ecx
40da39:	8b 11                	mov    (%ecx),%edx
40da3b:	8b 72 0c             	mov    0xc(%edx),%esi
40da3e:	8b ce                	mov    %esi,%ecx
40da40:	ff 15 c4 12 45 00    	call   *0x4512c4
40da46:	ff d6                	call   *%esi
40da48:	eb 06                	jmp    0x40da50
40da4a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40da50:	8b 44 24 40          	mov    0x40(%esp),%eax
40da54:	8d 4c 24 48          	lea    0x48(%esp),%ecx
40da58:	51                   	push   %ecx
40da59:	8d 4c 24 40          	lea    0x40(%esp),%ecx
40da5d:	51                   	push   %ecx
40da5e:	8b 30                	mov    (%eax),%esi
40da60:	6a 01                	push   $0x1
40da62:	6a ff                	push   $0xffffffff
40da64:	50                   	push   %eax
40da65:	8b 76 10             	mov    0x10(%esi),%esi
40da68:	8b ce                	mov    %esi,%ecx
40da6a:	ff 15 c4 12 45 00    	call   *0x4512c4
40da70:	ff d6                	call   *%esi
40da72:	85 c0                	test   %eax,%eax
40da74:	0f 85 27 01 00 00    	jne    0x40dba1
40da7a:	8d 44 24 58          	lea    0x58(%esp),%eax
40da7e:	50                   	push   %eax
40da7f:	ff 15 00 30 45 00    	call   *0x453000
40da85:	8b 44 24 3c          	mov    0x3c(%esp),%eax
40da89:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
40da8d:	51                   	push   %ecx
40da8e:	8d 4c 24 54          	lea    0x54(%esp),%ecx
40da92:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
40da99:	00
40da9a:	51                   	push   %ecx
40da9b:	8d 4c 24 60          	lea    0x60(%esp),%ecx
40da9f:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%esp)
40daa6:	00
40daa7:	8b 30                	mov    (%eax),%esi