45e586:	6a 00                	push   $0x0
45e588:	6a 00                	push   $0x0
45e58a:	6a 00                	push   $0x0
45e58c:	6a 00                	push   $0x0
45e58e:	8b 44 24 14          	mov    0x14(%esp),%eax
45e592:	50                   	push   %eax
45e593:	8b d6                	mov    %esi,%edx
45e595:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
45e59b:	e8 dc 57 fb ff       	call   0x413d7c
45e5a0:	50                   	push   %eax
45e5a1:	e8 fe 82 fa ff       	call   0x4068a4
45e5a6:	4e                   	dec    %esi
45e5a7:	83 fe ff             	cmp    $0xffffffff,%esi
45e5aa:	75 d5                	jne    0x45e581
45e5ac:	ff 83 94 00 00 00    	incl   0x94(%ebx)
45e5b2:	59                   	pop    %ecx
45e5b3:	5a                   	pop    %edx
45e5b4:	5e                   	pop    %esi
45e5b5:	5b                   	pop    %ebx
45e5b6:	c3                   	ret
45e5b7:	90                   	nop
45e5b8:	53                   	push   %ebx
45e5b9:	ff 80 b8 00 00 00    	incl   0xb8(%eax)
45e5bf:	83 b8 b8 00 00 00 01 	cmpl   $0x1,0xb8(%eax)
45e5c6:	75 1a                	jne    0x45e5e2
45e5c8:	66 83 b8 e2 00 00 00 	cmpw   $0x0,0xe2(%eax)
45e5cf:	00
45e5d0:	74 10                	je     0x45e5e2
45e5d2:	8b d8                	mov    %eax,%ebx
45e5d4:	8b d0                	mov    %eax,%edx
45e5d6:	8b 83 e4 00 00 00    	mov    0xe4(%ebx),%eax
45e5dc:	ff 93 e0 00 00 00    	call   *0xe0(%ebx)
45e5e2:	5b                   	pop    %ebx
45e5e3:	c3                   	ret
45e5e4:	53                   	push   %ebx
45e5e5:	ff 88 b8 00 00 00    	decl   0xb8(%eax)
45e5eb:	83 b8 b8 00 00 00 00 	cmpl   $0x0,0xb8(%eax)
45e5f2:	75 1a                	jne    0x45e60e
45e5f4:	66 83 b8 ea 00 00 00 	cmpw   $0x0,0xea(%eax)
45e5fb:	00
45e5fc:	74 10                	je     0x45e60e
45e5fe:	8b d8                	mov    %eax,%ebx
45e600:	8b d0                	mov    %eax,%edx
45e602:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
45e608:	ff 93 e8 00 00 00    	call   *0xe8(%ebx)
45e60e:	5b                   	pop    %ebx
45e60f:	c3                   	ret
45e610:	33 d2                	xor    %edx,%edx
45e612:	e8 f1 fe ff ff       	call   0x45e508
45e617:	c3                   	ret
45e618:	b2 01                	mov    $0x1,%dl
45e61a:	e8 e9 fe ff ff       	call   0x45e508
45e61f:	c3                   	ret
45e620:	53                   	push   %ebx
45e621:	56                   	push   %esi
45e622:	8b d8                	mov    %eax,%ebx
45e624:	a1 b8 eb 46 00       	mov    0x46ebb8,%eax
45e629:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
45e62d:	74 5a                	je     0x45e689
45e62f:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
45e636:	7e 51                	jle    0x45e689
45e638:	ff 8b 94 00 00 00    	decl   0x94(%ebx)
45e63e:	83 bb 94 00 00 00 00 	cmpl   $0x0,0x94(%ebx)
45e645:	75 42                	jne    0x45e689
45e647:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
45e64d:	8b 70 08             	mov    0x8(%eax),%esi
45e650:	4e                   	dec    %esi
45e651:	83 fe 00             	cmp    $0x0,%esi
45e654:	7c 28                	jl     0x45e67e
45e656:	68 13 02 00 00       	push   $0x213
45e65b:	6a 00                	push   $0x0
45e65d:	6a 00                	push   $0x0
45e65f:	6a 00                	push   $0x0
45e661:	6a 00                	push   $0x0
45e663:	6a ff                	push   $0xffffffff
45e665:	8b d6                	mov    %esi,%edx
45e667:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
45e66d:	e8 0a 57 fb ff       	call   0x413d7c
45e672:	50                   	push   %eax
45e673:	e8 2c 82 fa ff       	call   0x4068a4
45e678:	4e                   	dec    %esi
45e679:	83 fe ff             	cmp    $0xffffffff,%esi
45e67c:	75 d8                	jne    0x45e656
45e67e:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
45e684:	8b 10                	mov    (%eax),%edx
45e686:	ff 52 08             	call   *0x8(%edx)
45e689:	5e                   	pop    %esi
45e68a:	5b                   	pop    %ebx
45e68b:	c3                   	ret
45e68c:	8b 15 1c de 46 00    	mov    0x46de1c,%edx
45e692:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
45e696:	74 06                	je     0x45e69e
45e698:	80 78 34 00          	cmpb   $0x0,0x34(%eax)
45e69c:	75 03                	jne    0x45e6a1
45e69e:	33 c0                	xor    %eax,%eax
45e6a0:	c3                   	ret
45e6a1:	b0 01                	mov    $0x1,%al
45e6a3:	c3                   	ret
45e6a4:	8b 15 1c de 46 00    	mov    0x46de1c,%edx
45e6aa:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
45e6ae:	74 06                	je     0x45e6b6
45e6b0:	80 78 34 01          	cmpb   $0x1,0x34(%eax)
45e6b4:	74 03                	je     0x45e6b9
45e6b6:	33 c0                	xor    %eax,%eax
45e6b8:	c3                   	ret
45e6b9:	b0 01                	mov    $0x1,%al
45e6bb:	c3                   	ret
45e6bc:	53                   	push   %ebx
45e6bd:	56                   	push   %esi
45e6be:	57                   	push   %edi
45e6bf:	8b fa                	mov    %edx,%edi
45e6c1:	8b f0                	mov    %eax,%esi
45e6c3:	33 db                	xor    %ebx,%ebx
45e6c5:	8b 07                	mov    (%edi),%eax
45e6c7:	3b 05 c4 eb 46 00    	cmp    0x46ebc4,%eax
45e6cd:	74 05                	je     0x45e6d4
45e6cf:	83 f8 1a             	cmp    $0x1a,%eax
45e6d2:	75 39                	jne    0x45e70d
45e6d4:	80 7e 59 00          	cmpb   $0x0,0x59(%esi)
45e6d8:	74 0f                	je     0x45e6e9
45e6da:	68 00 04 00 00       	push   $0x400
45e6df:	e8 98 7a fa ff       	call   0x40617c
45e6e4:	e8 87 df fa ff       	call   0x40c670
45e6e9:	80 7e 5a 00          	cmpb   $0x0,0x5a(%esi)
45e6ed:	74 0a                	je     0x45e6f9
45e6ef:	a1 bc eb 46 00       	mov    0x46ebbc,%eax
45e6f4:	e8 7f ef ff ff       	call   0x45d678
45e6f9:	8b 07                	mov    (%edi),%eax
45e6fb:	3b 05 c4 eb 46 00    	cmp    0x46ebc4,%eax
45e701:	75 0a                	jne    0x45e70d
45e703:	a1 bc eb 46 00       	mov    0x46ebbc,%eax
45e708:	e8 b3 f5 ff ff       	call   0x45dcc0
45e70d:	8b c3                	mov    %ebx,%eax
45e70f:	5f                   	pop    %edi
45e710:	5e                   	pop    %esi
45e711:	5b                   	pop    %ebx
45e712:	c3                   	ret
45e713:	90                   	nop
45e714:	55                   	push   %ebp
45e715:	8b ec                	mov    %esp,%ebp
45e717:	6a 00                	push   $0x0
45e719:	53                   	push   %ebx
45e71a:	56                   	push   %esi
45e71b:	8b f2                	mov    %edx,%esi
45e71d:	8b d8                	mov    %eax,%ebx
45e71f:	33 c0                	xor    %eax,%eax
45e721:	55                   	push   %ebp
45e722:	68 71 e7 45 00       	push   $0x45e771
45e727:	64 ff 30             	push   %fs:(%eax)
45e72a:	64 89 20             	mov    %esp,%fs:(%eax)
45e72d:	66 83 bb 3a 01 00 00 	cmpw   $0x0,0x13a(%ebx)
45e734:	00
45e735:	74 24                	je     0x45e75b
45e737:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e73a:	8b 56 08             	mov    0x8(%esi),%edx
45e73d:	e8 4e 5a fa ff       	call   0x404190
45e742:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e745:	50                   	push   %eax
45e746:	8d 46 0c             	lea    0xc(%esi),%eax
45e749:	50                   	push   %eax
45e74a:	8b 4e 04             	mov    0x4(%esi),%ecx
45e74d:	8b d3                	mov    %ebx,%edx
45e74f:	8b 83 3c 01 00 00    	mov    0x13c(%ebx),%eax
45e755:	ff 93 38 01 00 00    	call   *0x138(%ebx)
45e75b:	33 c0                	xor    %eax,%eax
45e75d:	5a                   	pop    %edx
45e75e:	59                   	pop    %ecx
45e75f:	59                   	pop    %ecx
45e760:	64 89 10             	mov    %edx,%fs:(%eax)
45e763:	68 78 e7 45 00       	push   $0x45e778
45e768:	8d 45 fc             	lea    -0x4(%ebp),%eax
45e76b:	e8 28 58 fa ff       	call   0x403f98
45e770:	c3                   	ret
45e771:	e9 26 52 fa ff       	jmp    0x40399c
45e776:	eb f0                	jmp    0x45e768
45e778:	5e                   	pop    %esi
45e779:	5b                   	pop    %ebx
45e77a:	59                   	pop    %ecx
45e77b:	5d                   	pop    %ebp
45e77c:	c3                   	ret
45e77d:	8d 40 00             	lea    0x0(%eax),%eax
45e780:	55                   	push   %ebp
45e781:	8b ec                	mov    %esp,%ebp
45e783:	8b 45 08             	mov    0x8(%ebp),%eax
45e786:	8b 40 f8             	mov    -0x8(%eax),%eax
45e789:	8b 40 08             	mov    0x8(%eax),%eax
45e78c:	50                   	push   %eax
45e78d:	8b 45 08             	mov    0x8(%ebp),%eax
45e790:	8b 40 f8             	mov    -0x8(%eax),%eax
45e793:	8b 40 04             	mov    0x4(%eax),%eax
45e796:	50                   	push   %eax
45e797:	8b 45 08             	mov    0x8(%ebp),%eax
45e79a:	8b 40 f8             	mov    -0x8(%eax),%eax
45e79d:	8b 00                	mov    (%eax),%eax
45e79f:	50                   	push   %eax
45e7a0:	8b 45 08             	mov    0x8(%ebp),%eax
45e7a3:	8b 40 fc             	mov    -0x4(%eax),%eax
45e7a6:	8b 40 30             	mov    0x30(%eax),%eax
45e7a9:	50                   	push   %eax
45e7aa:	e8 dd 7c fa ff       	call   0x40648c
45e7af:	8b 55 08             	mov    0x8(%ebp),%edx
45e7b2:	8b 52 f8             	mov    -0x8(%edx),%edx
45e7b5:	89 42 0c             	mov    %eax,0xc(%edx)
45e7b8:	5d                   	pop    %ebp
45e7b9:	c3                   	ret
45e7ba:	8b c0                	mov    %eax,%eax
45e7bc:	55                   	push   %ebp
45e7bd:	8b ec                	mov    %esp,%ebp
45e7bf:	83 c4 c0             	add    $0xffffffc0,%esp
45e7c2:	53                   	push   %ebx
45e7c3:	8d 45 c0             	lea    -0x40(%ebp),%eax
45e7c6:	50                   	push   %eax
45e7c7:	8b 45 08             	mov    0x8(%ebp),%eax
45e7ca:	8b 40 fc             	mov    -0x4(%eax),%eax
45e7cd:	8b 40 30             	mov    0x30(%eax),%eax
45e7d0:	50                   	push   %eax
45e7d1:	e8 4e 7c fa ff       	call   0x406424
45e7d6:	8b d8                	mov    %eax,%ebx
45e7d8:	8b 45 08             	mov    0x8(%ebp),%eax
45e7db:	8b 40 fc             	mov    -0x4(%eax),%eax
45e7de:	e8 29 07 00 00       	call   0x45ef0c
45e7e3:	50                   	push   %eax
45e7e4:	6a 00                	push   $0x0
45e7e6:	6a 00                	push   $0x0
45e7e8:	53                   	push   %ebx
45e7e9:	e8 f6 7c fa ff       	call   0x4064e4
45e7ee:	8d 45 c0             	lea    -0x40(%ebp),%eax
45e7f1:	50                   	push   %eax
45e7f2:	8b 45 08             	mov    0x8(%ebp),%eax
45e7f5:	8b 40 fc             	mov    -0x4(%eax),%eax
45e7f8:	8b 40 30             	mov    0x30(%eax),%eax
45e7fb:	50                   	push   %eax
45e7fc:	e8 23 7d fa ff       	call   0x406524
45e801:	5b                   	pop    %ebx
45e802:	8b e5                	mov    %ebp,%esp
45e804:	5d                   	pop    %ebp
45e805:	c3                   	ret
45e806:	8b c0                	mov    %eax,%eax
45e808:	55                   	push   %ebp
45e809:	8b ec                	mov    %esp,%ebp
45e80b:	83 c4 f8             	add    $0xfffffff8,%esp
45e80e:	53                   	push   %ebx
45e80f:	56                   	push   %esi
45e810:	57                   	push   %edi
45e811:	89 55 f8             	mov    %edx,-0x8(%ebp)
45e814:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e817:	33 d2                	xor    %edx,%edx
45e819:	55                   	push   %ebp
45e81a:	68 c2 ee 45 00       	push   $0x45eec2
45e81f:	64 ff 32             	push   %fs:(%edx)
45e822:	64 89 22             	mov    %esp,%fs:(%edx)
45e825:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e828:	33 d2                	xor    %edx,%edx
45e82a:	89 50 0c             	mov    %edx,0xc(%eax)
45e82d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e830:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
45e836:	8b 58 08             	mov    0x8(%eax),%ebx
45e839:	4b                   	dec    %ebx
45e83a:	85 db                	test   %ebx,%ebx
45e83c:	7c 32                	jl     0x45e870
45e83e:	43                   	inc    %ebx
45e83f:	33 f6                	xor    %esi,%esi
45e841:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e844:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
45e84a:	8b d6                	mov    %esi,%edx
45e84c:	e8 2b 55 fb ff       	call   0x413d7c
45e851:	8b f8                	mov    %eax,%edi
45e853:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e856:	8b 47 04             	mov    0x4(%edi),%eax
45e859:	ff 17                	call   *(%edi)
45e85b:	84 c0                	test   %al,%al
45e85d:	74 0d                	je     0x45e86c
45e85f:	33 c0                	xor    %eax,%eax
45e861:	5a                   	pop    %edx
45e862:	59                   	pop    %ecx
45e863:	59                   	pop    %ecx
45e864:	64 89 10             	mov    %edx,%fs:(%eax)
45e867:	e9 6b 06 00 00       	jmp    0x45eed7
45e86c:	46                   	inc    %esi
45e86d:	4b                   	dec    %ebx
45e86e:	75 d1                	jne    0x45e841
45e870:	8b 55 f8             	mov    -0x8(%ebp),%edx
45e873:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e876:	e8 41 fe ff ff       	call   0x45e6bc
45e87b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45e87e:	8b 1b                	mov    (%ebx),%ebx
45e880:	8b c3                	mov    %ebx,%eax
45e882:	83 f8 53             	cmp    $0x53,%eax
45e885:	0f 8f ae 00 00 00    	jg     0x45e939
45e88b:	0f 84 46 05 00 00    	je     0x45edd7
45e891:	83 f8 16             	cmp    $0x16,%eax
45e894:	7f 6a                	jg     0x45e900
45e896:	0f 84 00 03 00 00    	je     0x45eb9c
45e89c:	83 f8 14             	cmp    $0x14,%eax
45e89f:	0f 87 0c 06 00 00    	ja     0x45eeb1
45e8a5:	ff 24 85 ac e8 45 00 	jmp    *0x45e8ac(,%eax,4)
45e8ac:	a8 ee                	test   $0xee,%al
45e8ae:	45                   	inc    %ebp
45e8af:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8b5:	ee                   	out    %al,(%dx)
45e8b6:	45                   	inc    %ebp
45e8b7:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8bd:	ee                   	out    %al,(%dx)
45e8be:	45                   	inc    %ebp
45e8bf:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8c5:	ee                   	out    %al,(%dx)
45e8c6:	45                   	inc    %ebp
45e8c7:	00 7a ea             	add    %bh,-0x16(%edx)
45e8ca:	45                   	inc    %ebp
45e8cb:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8d1:	ee                   	out    %al,(%dx)
45e8d2:	45                   	inc    %ebp
45e8d3:	00 02                	add    %al,(%edx)
45e8d5:	eb 45                	jmp    0x45e91c
45e8d7:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8dd:	ee                   	out    %al,(%dx)
45e8de:	45                   	inc    %ebp
45e8df:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8e5:	ee                   	out    %al,(%dx)
45e8e6:	45                   	inc    %ebp
45e8e7:	00 2a                	add    %ch,(%edx)
45e8e9:	ea 45 00 12 ea 45 00 	ljmp   $0x45,$0xea120045
45e8f0:	b1 ee                	mov    $0xee,%cl
45e8f2:	45                   	inc    %ebp
45e8f3:	00 b1 ee 45 00 b1    	add    %dh,-0x4effba12(%ecx)
45e8f9:	ee                   	out    %al,(%dx)
45e8fa:	45                   	inc    %ebp
45e8fb:	00 52 ea             	add    %dl,-0x16(%edx)
45e8fe:	45                   	inc    %ebp
45e8ff:	00 83 f8 1d 7f 1d    	add    %al,0x1d7f1df8(%ebx)
45e905:	0f 84 70 05 00 00    	je     0x45ee7b
45e90b:	83 e8 1a             	sub    $0x1a,%eax
45e90e:	0f 84 41 05 00 00    	je     0x45ee55
45e914:	83 e8 02             	sub    $0x2,%eax
45e917:	0f 84 7e 01 00 00    	je     0x45ea9b
45e91d:	e9 8f 05 00 00       	jmp    0x45eeb1
45e922:	83 e8 37             	sub    $0x37,%eax
45e925:	0f 84 3c 01 00 00    	je     0x45ea67
45e92b:	83 e8 13             	sub    $0x13,%eax
45e92e:	0f 84 84 02 00 00    	je     0x45ebb8
45e934:	e9 78 05 00 00       	jmp    0x45eeb1
45e939:	3d 17 b0 00 00       	cmp    $0xb017,%eax
45e93e:	7f 4f                	jg     0x45e98f
45e940:	0f 84 69 03 00 00    	je     0x45ecaf
45e946:	3d 00 b0 00 00       	cmp    $0xb000,%eax
45e94b:	7f 29                	jg     0x45e976
45e94d:	0f 84 f5 03 00 00    	je     0x45ed48
45e953:	2d 12 01 00 00       	sub    $0x112,%eax
45e958:	74 77                	je     0x45e9d1
45e95a:	83 c0 e0             	add    $0xffffffe0,%eax