4537d6:	33 db                	xor    %ebx,%ebx
4537d8:	8b c6                	mov    %esi,%eax
4537da:	e8 69 42 00 00       	call   0x457a48
4537df:	84 c0                	test   %al,%al
4537e1:	74 4c                	je     0x45382f
4537e3:	80 7e 6a 00          	cmpb   $0x0,0x6a(%esi)
4537e7:	75 11                	jne    0x4537fa
4537e9:	8b 46 74             	mov    0x74(%esi),%eax
4537ec:	50                   	push   %eax
4537ed:	8b 4e 70             	mov    0x70(%esi),%ecx
4537f0:	8b 56 78             	mov    0x78(%esi),%edx
4537f3:	8b c6                	mov    %esi,%eax
4537f5:	e8 62 ff ff ff       	call   0x45375c
4537fa:	8b 45 08             	mov    0x8(%ebp),%eax
4537fd:	50                   	push   %eax
4537fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
453801:	8b d7                	mov    %edi,%edx
453803:	8b c6                	mov    %esi,%eax
453805:	e8 32 00 00 00       	call   0x45383c
45380a:	8b d8                	mov    %eax,%ebx
45380c:	84 db                	test   %bl,%bl
45380e:	74 1f                	je     0x45382f
453810:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453815:	8b 00                	mov    (%eax),%eax
453817:	0f b7 40 44          	movzwl 0x44(%eax),%eax
45381b:	66 89 46 7c          	mov    %ax,0x7c(%esi)
45381f:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453824:	8b 00                	mov    (%eax),%eax
453826:	0f b7 56 68          	movzwl 0x68(%esi),%edx
45382a:	e8 0d 0c 01 00       	call   0x46443c
45382f:	8b c3                	mov    %ebx,%eax
453831:	5f                   	pop    %edi
453832:	5e                   	pop    %esi
453833:	5b                   	pop    %ebx
453834:	59                   	pop    %ecx
453835:	5d                   	pop    %ebp
453836:	c2 04 00             	ret    $0x4
453839:	8d 40 00             	lea    0x0(%eax),%eax
45383c:	55                   	push   %ebp
45383d:	8b ec                	mov    %esp,%ebp
45383f:	83 c4 f4             	add    $0xfffffff4,%esp
453842:	53                   	push   %ebx
453843:	56                   	push   %esi
453844:	57                   	push   %edi
453845:	89 4d fc             	mov    %ecx,-0x4(%ebp)
453848:	8b f2                	mov    %edx,%esi
45384a:	8b f8                	mov    %eax,%edi
45384c:	33 db                	xor    %ebx,%ebx
45384e:	8b c7                	mov    %edi,%eax
453850:	e8 f3 41 00 00       	call   0x457a48
453855:	84 c0                	test   %al,%al
453857:	74 39                	je     0x453892
453859:	3b 77 6c             	cmp    0x6c(%edi),%esi
45385c:	74 34                	je     0x453892
45385e:	8b c7                	mov    %edi,%eax
453860:	e8 3b 00 00 00       	call   0x4538a0
453865:	8b de                	mov    %esi,%ebx
453867:	89 5f 6c             	mov    %ebx,0x6c(%edi)
45386a:	8d 45 f4             	lea    -0xc(%ebp),%eax
45386d:	50                   	push   %eax
45386e:	8b 4d 08             	mov    0x8(%ebp),%ecx
453871:	8b 55 fc             	mov    -0x4(%ebp),%edx
453874:	8b c3                	mov    %ebx,%eax
453876:	e8 a1 fe ff ff       	call   0x45371c
45387b:	8b 45 f8             	mov    -0x8(%ebp),%eax
45387e:	50                   	push   %eax
45387f:	8b 45 f4             	mov    -0xc(%ebp),%eax
453882:	50                   	push   %eax
453883:	8b 47 6c             	mov    0x6c(%edi),%eax
453886:	50                   	push   %eax
453887:	e8 98 de fc ff       	call   0x421724
45388c:	83 f8 01             	cmp    $0x1,%eax
45388f:	1b db                	sbb    %ebx,%ebx
453891:	43                   	inc    %ebx
453892:	8b c3                	mov    %ebx,%eax
453894:	5f                   	pop    %edi
453895:	5e                   	pop    %esi
453896:	5b                   	pop    %ebx
453897:	8b e5                	mov    %ebp,%esp
453899:	5d                   	pop    %ebp
45389a:	c2 04 00             	ret    $0x4
45389d:	8d 40 00             	lea    0x0(%eax),%eax
4538a0:	53                   	push   %ebx
4538a1:	8b d8                	mov    %eax,%ebx
4538a3:	8b c3                	mov    %ebx,%eax
4538a5:	e8 9e 41 00 00       	call   0x457a48
4538aa:	84 c0                	test   %al,%al
4538ac:	74 14                	je     0x4538c2
4538ae:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
4538b2:	74 0e                	je     0x4538c2
4538b4:	8b 43 6c             	mov    0x6c(%ebx),%eax
4538b7:	50                   	push   %eax
4538b8:	e8 6f de fc ff       	call   0x42172c
4538bd:	33 c0                	xor    %eax,%eax
4538bf:	89 43 6c             	mov    %eax,0x6c(%ebx)
4538c2:	5b                   	pop    %ebx
4538c3:	c3                   	ret
4538c4:	53                   	push   %ebx
4538c5:	56                   	push   %esi
4538c6:	57                   	push   %edi
4538c7:	83 c4 f8             	add    $0xfffffff8,%esp
4538ca:	8b f9                	mov    %ecx,%edi
4538cc:	8b f2                	mov    %edx,%esi
4538ce:	8b d8                	mov    %eax,%ebx
4538d0:	8b c3                	mov    %ebx,%eax
4538d2:	e8 71 41 00 00       	call   0x457a48
4538d7:	84 c0                	test   %al,%al
4538d9:	74 24                	je     0x4538ff
4538db:	54                   	push   %esp
4538dc:	8b cf                	mov    %edi,%ecx
4538de:	8b d6                	mov    %esi,%edx
4538e0:	8b 43 6c             	mov    0x6c(%ebx),%eax
4538e3:	e8 34 fe ff ff       	call   0x45371c
4538e8:	8b 44 24 04          	mov    0x4(%esp),%eax
4538ec:	50                   	push   %eax
4538ed:	8b 44 24 04          	mov    0x4(%esp),%eax
4538f1:	50                   	push   %eax
4538f2:	e8 3d de fc ff       	call   0x421734
4538f7:	83 f8 01             	cmp    $0x1,%eax
4538fa:	1b c0                	sbb    %eax,%eax
4538fc:	40                   	inc    %eax
4538fd:	eb 02                	jmp    0x453901
4538ff:	33 c0                	xor    %eax,%eax
453901:	59                   	pop    %ecx
453902:	5a                   	pop    %edx
453903:	5f                   	pop    %edi
453904:	5e                   	pop    %esi
453905:	5b                   	pop    %ebx
453906:	c3                   	ret
453907:	90                   	nop
453908:	53                   	push   %ebx
453909:	8b d8                	mov    %eax,%ebx
45390b:	8b c3                	mov    %ebx,%eax
45390d:	e8 36 41 00 00       	call   0x457a48
453912:	84 c0                	test   %al,%al
453914:	74 07                	je     0x45391d
453916:	6a ff                	push   $0xffffffff
453918:	e8 1f de fc ff       	call   0x42173c
45391d:	5b                   	pop    %ebx
45391e:	c3                   	ret
45391f:	90                   	nop
453920:	53                   	push   %ebx
453921:	8b d8                	mov    %eax,%ebx
453923:	8b c3                	mov    %ebx,%eax
453925:	e8 1e 41 00 00       	call   0x457a48
45392a:	84 c0                	test   %al,%al
45392c:	74 07                	je     0x453935
45392e:	6a 00                	push   $0x0
453930:	e8 07 de fc ff       	call   0x42173c
453935:	5b                   	pop    %ebx
453936:	c3                   	ret
453937:	90                   	nop
453938:	53                   	push   %ebx
453939:	56                   	push   %esi
45393a:	8b f0                	mov    %eax,%esi
45393c:	8b c6                	mov    %esi,%eax
45393e:	e8 05 41 00 00       	call   0x457a48
453943:	84 c0                	test   %al,%al
453945:	74 38                	je     0x45397f
453947:	80 7e 6a 00          	cmpb   $0x0,0x6a(%esi)
45394b:	74 32                	je     0x45397f
45394d:	8b c6                	mov    %esi,%eax
45394f:	e8 4c ff ff ff       	call   0x4538a0
453954:	e8 c3 dd fc ff       	call   0x42171c
453959:	83 f8 01             	cmp    $0x1,%eax
45395c:	1b db                	sbb    %ebx,%ebx
45395e:	43                   	inc    %ebx
45395f:	c6 46 6a 00          	movb   $0x0,0x6a(%esi)
453963:	83 ca ff             	or     $0xffffffff,%edx
453966:	8b c6                	mov    %esi,%eax
453968:	e8 37 fe ff ff       	call   0x4537a4
45396d:	a1 24 78 4a 00       	mov    0x4a7824,%eax
453972:	8b 00                	mov    (%eax),%eax
453974:	0f b7 56 7c          	movzwl 0x7c(%esi),%edx
453978:	e8 bf 0a 01 00       	call   0x46443c
45397d:	eb 02                	jmp    0x453981
45397f:	33 db                	xor    %ebx,%ebx
453981:	8b c3                	mov    %ebx,%eax
453983:	5e                   	pop    %esi
453984:	5b                   	pop    %ebx
453985:	c3                   	ret
453986:	8b c0                	mov    %eax,%eax
453988:	55                   	push   %ebp
453989:	8b ec                	mov    %esp,%ebp
45398b:	51                   	push   %ecx
45398c:	53                   	push   %ebx
45398d:	56                   	push   %esi
45398e:	84 d2                	test   %dl,%dl
453990:	74 08                	je     0x45399a
453992:	83 c4 f0             	add    $0xfffffff0,%esp
453995:	e8 a6 02 fb ff       	call   0x403c40
45399a:	88 55 ff             	mov    %dl,-0x1(%ebp)
45399d:	8b d8                	mov    %eax,%ebx
45399f:	33 d2                	xor    %edx,%edx
4539a1:	8b c3                	mov    %ebx,%eax
4539a3:	e8 a8 91 ff ff       	call   0x44cb50
4539a8:	b2 01                	mov    $0x1,%dl
4539aa:	a1 e4 40 44 00       	mov    0x4440e4,%eax
4539af:	e8 8c 10 fd ff       	call   0x424a40
4539b4:	8b f0                	mov    %eax,%esi
4539b6:	89 b3 50 02 00 00    	mov    %esi,0x250(%ebx)
4539bc:	8b c6                	mov    %esi,%eax
4539be:	8b d3                	mov    %ebx,%edx
4539c0:	e8 4b 4d ff ff       	call   0x448710
4539c5:	8b c3                	mov    %ebx,%eax
4539c7:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4539cb:	74 0f                	je     0x4539dc
4539cd:	e8 c6 02 fb ff       	call   0x403c98
4539d2:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4539d9:	83 c4 0c             	add    $0xc,%esp
4539dc:	8b c3                	mov    %ebx,%eax
4539de:	5e                   	pop    %esi
4539df:	5b                   	pop    %ebx
4539e0:	59                   	pop    %ecx
4539e1:	5d                   	pop    %ebp
4539e2:	c3                   	ret
4539e3:	90                   	nop
4539e4:	53                   	push   %ebx
4539e5:	56                   	push   %esi
4539e6:	e8 fd 02 fb ff       	call   0x403ce8
4539eb:	8b da                	mov    %edx,%ebx
4539ed:	8b f0                	mov    %eax,%esi
4539ef:	8b 86 50 02 00 00    	mov    0x250(%esi),%eax
4539f5:	e8 22 ff fa ff       	call   0x40391c
4539fa:	8b d3                	mov    %ebx,%edx
4539fc:	80 e2 fc             	and    $0xfc,%dl
4539ff:	8b c6                	mov    %esi,%eax
453a01:	e8 8e 92 ff ff       	call   0x44cc94
453a06:	84 db                	test   %bl,%bl
453a08:	7e 07                	jle    0x453a11
453a0a:	8b c6                	mov    %esi,%eax
453a0c:	e8 7f 02 fb ff       	call   0x403c90
453a11:	5e                   	pop    %esi
453a12:	5b                   	pop    %ebx
453a13:	c3                   	ret
453a14:	53                   	push   %ebx
453a15:	56                   	push   %esi
453a16:	8b f2                	mov    %edx,%esi
453a18:	8b d8                	mov    %eax,%ebx
453a1a:	66 81 4b 54 00 01    	orw    $0x100,0x54(%ebx)
453a20:	8b d6                	mov    %esi,%edx
453a22:	8b c3                	mov    %ebx,%eax
453a24:	e8 f3 be ff ff       	call   0x44f91c
453a29:	66 81 63 54 ff fe    	andw   $0xfeff,0x54(%ebx)
453a2f:	5e                   	pop    %esi
453a30:	5b                   	pop    %ebx
453a31:	c3                   	ret
453a32:	8b c0                	mov    %eax,%eax
453a34:	55                   	push   %ebp
453a35:	8b ec                	mov    %esp,%ebp
453a37:	51                   	push   %ecx
453a38:	53                   	push   %ebx
453a39:	8b da                	mov    %edx,%ebx
453a3b:	89 45 fc             	mov    %eax,-0x4(%ebp)
453a3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
453a41:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
453a47:	e8 f8 12 fd ff       	call   0x424d44
453a4c:	33 c0                	xor    %eax,%eax
453a4e:	55                   	push   %ebp
453a4f:	68 d2 3a 45 00       	push   $0x453ad2
453a54:	64 ff 30             	push   %fs:(%eax)
453a57:	64 89 20             	mov    %esp,%fs:(%eax)
453a5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
453a5d:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
453a63:	8b d3                	mov    %ebx,%edx
453a65:	e8 2a 17 fd ff       	call   0x425194
453a6a:	33 c0                	xor    %eax,%eax
453a6c:	55                   	push   %ebp
453a6d:	68 af 3a 45 00       	push   $0x453aaf
453a72:	64 ff 30             	push   %fs:(%eax)
453a75:	64 89 20             	mov    %esp,%fs:(%eax)
453a78:	8b 45 fc             	mov    -0x4(%ebp),%eax
453a7b:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
453a81:	e8 a2 4c ff ff       	call   0x448728
453a86:	8b 45 fc             	mov    -0x4(%ebp),%eax
453a89:	8b 10                	mov    (%eax),%edx
453a8b:	ff 92 d8 00 00 00    	call   *0xd8(%edx)
453a91:	33 c0                	xor    %eax,%eax
453a93:	5a                   	pop    %edx
453a94:	59                   	pop    %ecx
453a95:	59                   	pop    %ecx
453a96:	64 89 10             	mov    %edx,%fs:(%eax)
453a99:	68 b6 3a 45 00       	push   $0x453ab6
453a9e:	8b 45 fc             	mov    -0x4(%ebp),%eax
453aa1:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
453aa7:	33 d2                	xor    %edx,%edx
453aa9:	e8 e6 16 fd ff       	call   0x425194
453aae:	c3                   	ret
453aaf:	e9 fc 05 fb ff       	jmp    0x4040b0
453ab4:	eb e8                	jmp    0x453a9e
453ab6:	33 c0                	xor    %eax,%eax
453ab8:	5a                   	pop    %edx
453ab9:	59                   	pop    %ecx
453aba:	59                   	pop    %ecx
453abb:	64 89 10             	mov    %edx,%fs:(%eax)
453abe:	68 d9 3a 45 00       	push   $0x453ad9
453ac3:	8b 45 fc             	mov    -0x4(%ebp),%eax
453ac6:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
453acc:	e8 2f 15 fd ff       	call   0x425000
453ad1:	c3                   	ret
453ad2:	e9 d9 05 fb ff       	jmp    0x4040b0
453ad7:	eb ea                	jmp    0x453ac3
453ad9:	5b                   	pop    %ebx
453ada:	59                   	pop    %ecx
453adb:	5d                   	pop    %ebp
453adc:	c3                   	ret
453add:	8d 40 00             	lea    0x0(%eax),%eax
453ae0:	c3                   	ret
453ae1:	8d 40 00             	lea    0x0(%eax),%eax
453ae4:	53                   	push   %ebx
453ae5:	8b d8                	mov    %eax,%ebx
453ae7:	eb 03                	jmp    0x453aec
453ae9:	8b 5b 0c             	mov    0xc(%ebx),%ebx
453aec:	85 db                	test   %ebx,%ebx
453aee:	74 0b                	je     0x453afb
453af0:	8b c3                	mov    %ebx,%eax
453af2:	e8 89 00 00 00       	call   0x453b80
453af7:	84 c0                	test   %al,%al
453af9:	74 ee                	je     0x453ae9
453afb:	8b c3                	mov    %ebx,%eax
453afd:	5b                   	pop    %ebx
453afe:	c3                   	ret
453aff:	90                   	nop
453b00:	8b 50 14             	mov    0x14(%eax),%edx
453b03:	85 d2                	test   %edx,%edx
453b05:	74 06                	je     0x453b0d
453b07:	80 7a 10 00          	cmpb   $0x0,0x10(%edx)
453b0b:	75 11                	jne    0x453b1e
453b0d:	8b 50 1c             	mov    0x1c(%eax),%edx
453b10:	3b 42 64             	cmp    0x64(%edx),%eax
453b13:	75 06                	jne    0x453b1b
453b15:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
453b19:	75 03                	jne    0x453b1e
453b1b:	33 c0                	xor    %eax,%eax
453b1d:	c3                   	ret
453b1e:	b0 01                	mov    $0x1,%al
453b20:	c3                   	ret
453b21:	8d 40 00             	lea    0x0(%eax),%eax
453b24:	84 d2                	test   %dl,%dl
453b26:	74 08                	je     0x453b30
453b28:	83 c4 f0             	add    $0xfffffff0,%esp
453b2b:	e8 10 01 fb ff       	call   0x403c40
453b30:	89 48 1c             	mov    %ecx,0x1c(%eax)
453b33:	84 d2                	test   %dl,%dl
453b35:	74 0f                	je     0x453b46
453b37:	e8 5c 01 fb ff       	call   0x403c98
453b3c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
453b43:	83 c4 0c             	add    $0xc,%esp
453b46:	c3                   	ret
453b47:	90                   	nop