40d3f8:	75 2e                	jne    0x40d428
40d3fa:	ff 74 3b 1c          	push   0x1c(%ebx,%edi,1)
40d3fe:	e8 15 7d ff ff       	call   0x405118
40d403:	ff 74 3b 18          	push   0x18(%ebx,%edi,1)
40d407:	e8 0c 7d ff ff       	call   0x405118
40d40c:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
40d412:	ff 30                	push   (%eax)
40d414:	e8 ff 7c ff ff       	call   0x405118
40d419:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
40d41f:	89 74 3b 14          	mov    %esi,0x14(%ebx,%edi,1)
40d423:	83 c4 0c             	add    $0xc,%esp
40d426:	89 30                	mov    %esi,(%eax)
40d428:	8b 85 24 fd ff ff    	mov    -0x2dc(%ebp),%eax
40d42e:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40d434:	89 44 3b 1c          	mov    %eax,0x1c(%ebx,%edi,1)
40d438:	e9 01 fd ff ff       	jmp    0x40d13e
40d43d:	56                   	push   %esi
40d43e:	56                   	push   %esi
40d43f:	56                   	push   %esi
40d440:	56                   	push   %esi
40d441:	56                   	push   %esi
40d442:	e8 be e1 ff ff       	call   0x40b605
40d447:	cc                   	int3
40d448:	55                   	push   %ebp
40d449:	8b ec                	mov    %esp,%ebp
40d44b:	8b 45 08             	mov    0x8(%ebp),%eax
40d44e:	8b 00                	mov    (%eax),%eax
40d450:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40d456:	75 25                	jne    0x40d47d
40d458:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40d45c:	75 1f                	jne    0x40d47d
40d45e:	8b 40 14             	mov    0x14(%eax),%eax
40d461:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40d466:	74 1b                	je     0x40d483
40d468:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40d46d:	74 14                	je     0x40d483
40d46f:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40d474:	74 0d                	je     0x40d483
40d476:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40d47b:	74 06                	je     0x40d483
40d47d:	33 c0                	xor    %eax,%eax
40d47f:	5d                   	pop    %ebp
40d480:	c2 04 00             	ret    $0x4
40d483:	e8 bc 09 00 00       	call   0x40de44
40d488:	cc                   	int3
40d489:	68 48 d4 40 00       	push   $0x40d448
40d48e:	e8 ce 25 00 00       	call   0x40fa61
40d493:	59                   	pop    %ecx
40d494:	33 c0                	xor    %eax,%eax
40d496:	c3                   	ret
40d497:	55                   	push   %ebp
40d498:	8b ec                	mov    %esp,%ebp
40d49a:	56                   	push   %esi
40d49b:	e8 4e ef ff ff       	call   0x40c3ee
40d4a0:	8b f0                	mov    %eax,%esi
40d4a2:	85 f6                	test   %esi,%esi
40d4a4:	0f 84 45 01 00 00    	je     0x40d5ef
40d4aa:	8b 56 5c             	mov    0x5c(%esi),%edx
40d4ad:	57                   	push   %edi
40d4ae:	8b 7d 08             	mov    0x8(%ebp),%edi
40d4b1:	8b ca                	mov    %edx,%ecx
40d4b3:	39 39                	cmp    %edi,(%ecx)
40d4b5:	74 0d                	je     0x40d4c4
40d4b7:	83 c1 0c             	add    $0xc,%ecx
40d4ba:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
40d4c0:	3b c8                	cmp    %eax,%ecx
40d4c2:	72 ef                	jb     0x40d4b3
40d4c4:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
40d4ca:	3b c8                	cmp    %eax,%ecx
40d4cc:	73 04                	jae    0x40d4d2
40d4ce:	39 39                	cmp    %edi,(%ecx)
40d4d0:	74 02                	je     0x40d4d4
40d4d2:	33 c9                	xor    %ecx,%ecx
40d4d4:	85 c9                	test   %ecx,%ecx
40d4d6:	0f 84 10 01 00 00    	je     0x40d5ec
40d4dc:	8b 51 08             	mov    0x8(%ecx),%edx
40d4df:	85 d2                	test   %edx,%edx
40d4e1:	0f 84 05 01 00 00    	je     0x40d5ec
40d4e7:	83 fa 05             	cmp    $0x5,%edx
40d4ea:	75 0c                	jne    0x40d4f8
40d4ec:	83 61 08 00          	andl   $0x0,0x8(%ecx)
40d4f0:	33 c0                	xor    %eax,%eax
40d4f2:	40                   	inc    %eax
40d4f3:	e9 f6 00 00 00       	jmp    0x40d5ee
40d4f8:	83 fa 01             	cmp    $0x1,%edx
40d4fb:	75 08                	jne    0x40d505
40d4fd:	83 c8 ff             	or     $0xffffffff,%eax
40d500:	e9 e9 00 00 00       	jmp    0x40d5ee
40d505:	8b 45 0c             	mov    0xc(%ebp),%eax
40d508:	53                   	push   %ebx
40d509:	8b 5e 60             	mov    0x60(%esi),%ebx
40d50c:	89 46 60             	mov    %eax,0x60(%esi)
40d50f:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
40d513:	0f 85 c0 00 00 00    	jne    0x40d5d9
40d519:	6a 24                	push   $0x24
40d51b:	5f                   	pop    %edi
40d51c:	8b 46 5c             	mov    0x5c(%esi),%eax
40d51f:	83 c7 0c             	add    $0xc,%edi
40d522:	83 64 07 fc 00       	andl   $0x0,-0x4(%edi,%eax,1)
40d527:	81 ff 90 00 00 00    	cmp    $0x90,%edi
40d52d:	7c ed                	jl     0x40d51c
40d52f:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
40d535:	8b 7e 64             	mov    0x64(%esi),%edi
40d538:	75 0c                	jne    0x40d546
40d53a:	c7 46 64 83 00 00 00 	movl   $0x83,0x64(%esi)
40d541:	e9 86 00 00 00       	jmp    0x40d5cc
40d546:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
40d54c:	75 09                	jne    0x40d557
40d54e:	c7 46 64 81 00 00 00 	movl   $0x81,0x64(%esi)
40d555:	eb 75                	jmp    0x40d5cc
40d557:	81 39 91 00 00 c0    	cmpl   $0xc0000091,(%ecx)
40d55d:	75 09                	jne    0x40d568
40d55f:	c7 46 64 84 00 00 00 	movl   $0x84,0x64(%esi)
40d566:	eb 64                	jmp    0x40d5cc
40d568:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
40d56e:	75 09                	jne    0x40d579
40d570:	c7 46 64 85 00 00 00 	movl   $0x85,0x64(%esi)
40d577:	eb 53                	jmp    0x40d5cc
40d579:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
40d57f:	75 09                	jne    0x40d58a
40d581:	c7 46 64 82 00 00 00 	movl   $0x82,0x64(%esi)
40d588:	eb 42                	jmp    0x40d5cc
40d58a:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
40d590:	75 09                	jne    0x40d59b
40d592:	c7 46 64 86 00 00 00 	movl   $0x86,0x64(%esi)
40d599:	eb 31                	jmp    0x40d5cc
40d59b:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
40d5a1:	75 09                	jne    0x40d5ac
40d5a3:	c7 46 64 8a 00 00 00 	movl   $0x8a,0x64(%esi)
40d5aa:	eb 20                	jmp    0x40d5cc
40d5ac:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
40d5b2:	75 09                	jne    0x40d5bd
40d5b4:	c7 46 64 8d 00 00 00 	movl   $0x8d,0x64(%esi)
40d5bb:	eb 0f                	jmp    0x40d5cc
40d5bd:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
40d5c3:	75 07                	jne    0x40d5cc
40d5c5:	c7 46 64 8e 00 00 00 	movl   $0x8e,0x64(%esi)
40d5cc:	ff 76 64             	push   0x64(%esi)
40d5cf:	6a 08                	push   $0x8
40d5d1:	ff d2                	call   *%edx
40d5d3:	59                   	pop    %ecx
40d5d4:	89 7e 64             	mov    %edi,0x64(%esi)
40d5d7:	eb 09                	jmp    0x40d5e2
40d5d9:	ff 71 04             	push   0x4(%ecx)
40d5dc:	83 61 08 00          	andl   $0x0,0x8(%ecx)
40d5e0:	ff d2                	call   *%edx
40d5e2:	59                   	pop    %ecx
40d5e3:	89 5e 60             	mov    %ebx,0x60(%esi)
40d5e6:	83 c8 ff             	or     $0xffffffff,%eax
40d5e9:	5b                   	pop    %ebx
40d5ea:	eb 02                	jmp    0x40d5ee
40d5ec:	33 c0                	xor    %eax,%eax
40d5ee:	5f                   	pop    %edi
40d5ef:	5e                   	pop    %esi
40d5f0:	5d                   	pop    %ebp
40d5f1:	c3                   	ret
40d5f2:	6a 00                	push   $0x0
40d5f4:	6a 00                	push   $0x0
40d5f6:	68 2d d6 40 00       	push   $0x40d62d
40d5fb:	68 78 27 42 00       	push   $0x422778
40d600:	ff 15 d4 90 41 00    	call   *0x4190d4
40d606:	f7 d8                	neg    %eax
40d608:	1b c0                	sbb    %eax,%eax
40d60a:	f7 d8                	neg    %eax
40d60c:	48                   	dec    %eax
40d60d:	c3                   	ret
40d60e:	68 00 01 00 00       	push   $0x100
40d613:	6a 00                	push   $0x0
40d615:	68 20 2a 42 00       	push   $0x422a20
40d61a:	e8 21 99 ff ff       	call   0x406f40
40d61f:	83 c4 0c             	add    $0xc,%esp
40d622:	c7 05 14 2a 42 00 03 	movl   $0x3,0x422a14
40d629:	00 00 00
40d62c:	c3                   	ret
40d62d:	6a 64                	push   $0x64
40d62f:	68 f8 e5 41 00       	push   $0x41e5f8
40d634:	e8 77 d7 ff ff       	call   0x40adb0
40d639:	6a 0b                	push   $0xb
40d63b:	e8 67 ae ff ff       	call   0x4084a7
40d640:	59                   	pop    %ecx
40d641:	33 db                	xor    %ebx,%ebx
40d643:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40d646:	39 1d 20 2a 42 00    	cmp    %ebx,0x422a20
40d64c:	74 1e                	je     0x40d66c
40d64e:	6a fe                	push   $0xfffffffe
40d650:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d653:	50                   	push   %eax
40d654:	68 90 08 42 00       	push   $0x420890
40d659:	e8 a2 41 00 00       	call   0x411800
40d65e:	83 c4 0c             	add    $0xc,%esp
40d661:	33 c0                	xor    %eax,%eax
40d663:	40                   	inc    %eax
40d664:	e8 8c d7 ff ff       	call   0x40adf5
40d669:	c2 0c 00             	ret    $0xc
40d66c:	6a 40                	push   $0x40
40d66e:	6a 20                	push   $0x20
40d670:	5f                   	pop    %edi
40d671:	57                   	push   %edi
40d672:	e8 e1 b3 ff ff       	call   0x408a58
40d677:	59                   	pop    %ecx
40d678:	59                   	pop    %ecx
40d679:	8b c8                	mov    %eax,%ecx
40d67b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40d67e:	85 c9                	test   %ecx,%ecx
40d680:	75 17                	jne    0x40d699
40d682:	6a fe                	push   $0xfffffffe
40d684:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d687:	50                   	push   %eax
40d688:	68 90 08 42 00       	push   $0x420890
40d68d:	e8 6e 41 00 00       	call   0x411800
40d692:	83 c4 0c             	add    $0xc,%esp
40d695:	33 c0                	xor    %eax,%eax
40d697:	eb cb                	jmp    0x40d664
40d699:	a3 20 2a 42 00       	mov    %eax,0x422a20
40d69e:	89 3d 14 2a 42 00    	mov    %edi,0x422a14
40d6a4:	05 00 08 00 00       	add    $0x800,%eax
40d6a9:	3b c8                	cmp    %eax,%ecx
40d6ab:	73 31                	jae    0x40d6de
40d6ad:	66 c7 41 04 00 0a    	movw   $0xa00,0x4(%ecx)
40d6b3:	83 09 ff             	orl    $0xffffffff,(%ecx)
40d6b6:	89 59 08             	mov    %ebx,0x8(%ecx)
40d6b9:	80 61 24 80          	andb   $0x80,0x24(%ecx)
40d6bd:	8a 41 24             	mov    0x24(%ecx),%al
40d6c0:	24 7f                	and    $0x7f,%al
40d6c2:	88 41 24             	mov    %al,0x24(%ecx)
40d6c5:	66 c7 41 25 0a 0a    	movw   $0xa0a,0x25(%ecx)
40d6cb:	89 59 38             	mov    %ebx,0x38(%ecx)
40d6ce:	88 59 34             	mov    %bl,0x34(%ecx)
40d6d1:	83 c1 40             	add    $0x40,%ecx
40d6d4:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40d6d7:	a1 20 2a 42 00       	mov    0x422a20,%eax
40d6dc:	eb c6                	jmp    0x40d6a4
40d6de:	8d 45 8c             	lea    -0x74(%ebp),%eax
40d6e1:	50                   	push   %eax
40d6e2:	ff 15 d8 90 41 00    	call   *0x4190d8
40d6e8:	66 83 7d be 00       	cmpw   $0x0,-0x42(%ebp)
40d6ed:	0f 84 29 01 00 00    	je     0x40d81c
40d6f3:	8b 45 c0             	mov    -0x40(%ebp),%eax
40d6f6:	85 c0                	test   %eax,%eax
40d6f8:	0f 84 1e 01 00 00    	je     0x40d81c
40d6fe:	8b 08                	mov    (%eax),%ecx
40d700:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40d703:	83 c0 04             	add    $0x4,%eax
40d706:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d709:	03 c1                	add    %ecx,%eax
40d70b:	89 45 e0             	mov    %eax,-0x20(%ebp)
40d70e:	b8 00 08 00 00       	mov    $0x800,%eax
40d713:	3b c8                	cmp    %eax,%ecx
40d715:	7c 05                	jl     0x40d71c
40d717:	8b c8                	mov    %eax,%ecx
40d719:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40d71c:	33 f6                	xor    %esi,%esi
40d71e:	46                   	inc    %esi
40d71f:	89 75 d0             	mov    %esi,-0x30(%ebp)
40d722:	39 0d 14 2a 42 00    	cmp    %ecx,0x422a14
40d728:	7d 20                	jge    0x40d74a
40d72a:	6a 40                	push   $0x40
40d72c:	57                   	push   %edi
40d72d:	e8 26 b3 ff ff       	call   0x408a58
40d732:	59                   	pop    %ecx
40d733:	59                   	pop    %ecx
40d734:	8b c8                	mov    %eax,%ecx
40d736:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40d739:	85 c9                	test   %ecx,%ecx
40d73b:	0f 85 8e 00 00 00    	jne    0x40d7cf
40d741:	8b 0d 14 2a 42 00    	mov    0x422a14,%ecx
40d747:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40d74a:	8b fb                	mov    %ebx,%edi
40d74c:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40d74f:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d752:	8b 55 e0             	mov    -0x20(%ebp),%edx
40d755:	3b f9                	cmp    %ecx,%edi
40d757:	0f 8d bf 00 00 00    	jge    0x40d81c
40d75d:	8b 32                	mov    (%edx),%esi
40d75f:	83 fe ff             	cmp    $0xffffffff,%esi
40d762:	74 58                	je     0x40d7bc
40d764:	83 fe fe             	cmp    $0xfffffffe,%esi
40d767:	74 53                	je     0x40d7bc
40d769:	8a 00                	mov    (%eax),%al
40d76b:	a8 01                	test   $0x1,%al
40d76d:	74 4d                	je     0x40d7bc
40d76f:	a8 08                	test   $0x8,%al
40d771:	75 0e                	jne    0x40d781
40d773:	56                   	push   %esi
40d774:	ff 15 d0 90 41 00    	call   *0x4190d0
40d77a:	8b 55 e0             	mov    -0x20(%ebp),%edx
40d77d:	85 c0                	test   %eax,%eax
40d77f:	74 38                	je     0x40d7b9
40d781:	8b c7                	mov    %edi,%eax
40d783:	c1 f8 05             	sar    $0x5,%eax
40d786:	8b f7                	mov    %edi,%esi
40d788:	83 e6 1f             	and    $0x1f,%esi
40d78b:	c1 e6 06             	shl    $0x6,%esi
40d78e:	03 34 85 20 2a 42 00 	add    0x422a20(,%eax,4),%esi
40d795:	89 75 dc             	mov    %esi,-0x24(%ebp)
40d798:	8b 02                	mov    (%edx),%eax
40d79a:	89 06                	mov    %eax,(%esi)
40d79c:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d79f:	8a 00                	mov    (%eax),%al
40d7a1:	88 46 04             	mov    %al,0x4(%esi)
40d7a4:	68 a0 0f 00 00       	push   $0xfa0
40d7a9:	8d 46 0c             	lea    0xc(%esi),%eax
40d7ac:	50                   	push   %eax
40d7ad:	ff 15 94 90 41 00    	call   *0x419094
40d7b3:	ff 46 08             	incl   0x8(%esi)
40d7b6:	8b 55 e0             	mov    -0x20(%ebp),%edx
40d7b9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40d7bc:	47                   	inc    %edi
40d7bd:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40d7c0:	8b 45 d8             	mov    -0x28(%ebp),%eax
40d7c3:	40                   	inc    %eax
40d7c4:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d7c7:	83 c2 04             	add    $0x4,%edx
40d7ca:	89 55 e0             	mov    %edx,-0x20(%ebp)
40d7cd:	eb 86                	jmp    0x40d755
40d7cf:	89 0c b5 20 2a 42 00 	mov    %ecx,0x422a20(,%esi,4)
40d7d6:	01 3d 14 2a 42 00    	add    %edi,0x422a14
40d7dc:	8b 04 b5 20 2a 42 00 	mov    0x422a20(,%esi,4),%eax
40d7e3:	05 00 08 00 00       	add    $0x800,%eax
40d7e8:	3b c8                	cmp    %eax,%ecx
40d7ea:	73 24                	jae    0x40d810
40d7ec:	66 c7 41 04 00 0a    	movw   $0xa00,0x4(%ecx)
40d7f2:	83 09 ff             	orl    $0xffffffff,(%ecx)
40d7f5:	89 59 08             	mov    %ebx,0x8(%ecx)
40d7f8:	80 61 24 80          	andb   $0x80,0x24(%ecx)
40d7fc:	66 c7 41 25 0a 0a    	movw   $0xa0a,0x25(%ecx)
40d802:	89 59 38             	mov    %ebx,0x38(%ecx)
40d805:	88 59 34             	mov    %bl,0x34(%ecx)
40d808:	83 c1 40             	add    $0x40,%ecx
40d80b:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40d80e:	eb cc                	jmp    0x40d7dc
40d810:	46                   	inc    %esi
40d811:	89 75 d0             	mov    %esi,-0x30(%ebp)
40d814:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40d817:	e9 06 ff ff ff       	jmp    0x40d722
40d81c:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40d81f:	83 fb 03             	cmp    $0x3,%ebx
40d822:	0f 8d b8 00 00 00    	jge    0x40d8e0
40d828:	8b f3                	mov    %ebx,%esi
40d82a:	c1 e6 06             	shl    $0x6,%esi
40d82d:	03 35 20 2a 42 00    	add    0x422a20,%esi
40d833:	89 75 dc             	mov    %esi,-0x24(%ebp)
40d836:	83 3e ff             	cmpl   $0xffffffff,(%esi)
40d839:	74 13                	je     0x40d84e
40d83b:	83 3e fe             	cmpl   $0xfffffffe,(%esi)
40d83e:	74 0e                	je     0x40d84e
40d840:	0f be 46 04          	movsbl 0x4(%esi),%eax
40d844:	0c 80                	or     $0x80,%al
40d846:	88 46 04             	mov    %al,0x4(%esi)
40d849:	e9 8c 00 00 00       	jmp    0x40d8da