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
453b48:	33 d2                	xor    %edx,%edx
453b4a:	8b 40 08             	mov    0x8(%eax),%eax
453b4d:	85 c0                	test   %eax,%eax
453b4f:	74 08                	je     0x453b59
453b51:	8b 40 0c             	mov    0xc(%eax),%eax
453b54:	42                   	inc    %edx
453b55:	85 c0                	test   %eax,%eax
453b57:	75 f8                	jne    0x453b51
453b59:	8b c2                	mov    %edx,%eax
453b5b:	c3                   	ret
453b5c:	53                   	push   %ebx
453b5d:	56                   	push   %esi
453b5e:	33 f6                	xor    %esi,%esi
453b60:	e8 3f 06 00 00       	call   0x4541a4
453b65:	8b d8                	mov    %eax,%ebx
453b67:	85 db                	test   %ebx,%ebx
453b69:	74 0e                	je     0x453b79
453b6b:	8b c3                	mov    %ebx,%eax
453b6d:	e8 0a 06 00 00       	call   0x45417c
453b72:	8b d8                	mov    %eax,%ebx
453b74:	46                   	inc    %esi
453b75:	85 db                	test   %ebx,%ebx
453b77:	75 f2                	jne    0x453b6b
453b79:	8b c6                	mov    %esi,%eax
453b7b:	5e                   	pop    %esi
453b7c:	5b                   	pop    %ebx
453b7d:	c3                   	ret
453b7e:	8b c0                	mov    %eax,%eax
453b80:	53                   	push   %ebx
453b81:	56                   	push   %esi
453b82:	8b 50 04             	mov    0x4(%eax),%edx
453b85:	85 d2                	test   %edx,%edx
453b87:	74 06                	je     0x453b8f
453b89:	0f b6 5a 57          	movzbl 0x57(%edx),%ebx
453b8d:	eb 21                	jmp    0x453bb0
453b8f:	b3 01                	mov    $0x1,%bl
453b91:	e8 0e 06 00 00       	call   0x4541a4
453b96:	8b f0                	mov    %eax,%esi
453b98:	85 f6                	test   %esi,%esi
453b9a:	74 12                	je     0x453bae
453b9c:	8b c6                	mov    %esi,%eax
453b9e:	e8 dd ff ff ff       	call   0x453b80
453ba3:	84 c0                	test   %al,%al
453ba5:	75 09                	jne    0x453bb0
453ba7:	8b 76 0c             	mov    0xc(%esi),%esi
453baa:	85 f6                	test   %esi,%esi
453bac:	75 ee                	jne    0x453b9c
453bae:	33 db                	xor    %ebx,%ebx
453bb0:	8b c3                	mov    %ebx,%eax
453bb2:	5e                   	pop    %esi
453bb3:	5b                   	pop    %ebx
453bb4:	c3                   	ret
453bb5:	8d 40 00             	lea    0x0(%eax),%eax
453bb8:	8b 50 1c             	mov    0x1c(%eax),%edx
453bbb:	3b 42 64             	cmp    0x64(%edx),%eax
453bbe:	75 04                	jne    0x453bc4
453bc0:	8b d0                	mov    %eax,%edx
453bc2:	eb 03                	jmp    0x453bc7
453bc4:	8b 50 14             	mov    0x14(%eax),%edx
453bc7:	0f b6 4a 10          	movzbl 0x10(%edx),%ecx
453bcb:	80 f9 01             	cmp    $0x1,%cl
453bce:	75 0b                	jne    0x453bdb
453bd0:	ba 01 00 00 00       	mov    $0x1,%edx
453bd5:	e8 6e 00 00 00       	call   0x453c48
453bda:	c3                   	ret
453bdb:	80 f9 02             	cmp    $0x2,%cl
453bde:	75 0c                	jne    0x453bec
453be0:	ba 02 00 00 00       	mov    $0x2,%edx
453be5:	e8 5e 00 00 00       	call   0x453c48
453bea:	eb 13                	jmp    0x453bff
453bec:	33 c9                	xor    %ecx,%ecx
453bee:	b2 01                	mov    $0x1,%dl
453bf0:	a1 38 7b 40 00       	mov    0x407b38,%eax
453bf5:	e8 16 88 fb ff       	call   0x40c410
453bfa:	e8 91 05 fb ff       	call   0x404190
453bff:	c3                   	ret
453c00:	8b 50 1c             	mov    0x1c(%eax),%edx
453c03:	3b 42 64             	cmp    0x64(%edx),%eax
453c06:	75 04                	jne    0x453c0c
453c08:	8b d0                	mov    %eax,%edx
453c0a:	eb 03                	jmp    0x453c0f
453c0c:	8b 50 14             	mov    0x14(%eax),%edx
453c0f:	0f b6 4a 10          	movzbl 0x10(%edx),%ecx
453c13:	80 f9 01             	cmp    $0x1,%cl
453c16:	75 0b                	jne    0x453c23
453c18:	ba 01 00 00 00       	mov    $0x1,%edx
453c1d:	e8 aa 00 00 00       	call   0x453ccc
453c22:	c3                   	ret
453c23:	80 f9 02             	cmp    $0x2,%cl
453c26:	75 0c                	jne    0x453c34
453c28:	ba 02 00 00 00       	mov    $0x2,%edx
453c2d:	e8 9a 00 00 00       	call   0x453ccc
453c32:	eb 13                	jmp    0x453c47
453c34:	33 c9                	xor    %ecx,%ecx
453c36:	b2 01                	mov    $0x1,%dl
453c38:	a1 38 7b 40 00       	mov    0x407b38,%eax
453c3d:	e8 ce 87 fb ff       	call   0x40c410
453c42:	e8 49 05 fb ff       	call   0x404190
453c47:	c3                   	ret
453c48:	53                   	push   %ebx
453c49:	56                   	push   %esi
453c4a:	57                   	push   %edi
453c4b:	55                   	push   %ebp
453c4c:	83 c4 ec             	add    $0xffffffec,%esp
453c4f:	8b fa                	mov    %edx,%edi
453c51:	8b f0                	mov    %eax,%esi
453c53:	8b de                	mov    %esi,%ebx
453c55:	eb 1f                	jmp    0x453c76
453c57:	8b c7                	mov    %edi,%eax
453c59:	8b 6b 14             	mov    0x14(%ebx),%ebp
453c5c:	3a 45 10             	cmp    0x10(%ebp),%al
453c5f:	75 13                	jne    0x453c74
453c61:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
453c65:	74 0d                	je     0x453c74
453c67:	8b 43 18             	mov    0x18(%ebx),%eax
453c6a:	e8 31 04 00 00       	call   0x4540a0
453c6f:	89 04 24             	mov    %eax,(%esp)
453c72:	eb 4c                	jmp    0x453cc0
453c74:	8b dd                	mov    %ebp,%ebx
453c76:	8b 46 1c             	mov    0x1c(%esi),%eax
453c79:	3b 58 64             	cmp    0x64(%eax),%ebx
453c7c:	75 d9                	jne    0x453c57
453c7e:	8d 54 24 04          	lea    0x4(%esp),%edx
453c82:	8b 46 1c             	mov    0x1c(%esi),%eax
453c85:	8b 40 14             	mov    0x14(%eax),%eax
453c88:	8b 08                	mov    (%eax),%ecx
453c8a:	ff 51 44             	call   *0x44(%ecx)
453c8d:	8d 54 24 04          	lea    0x4(%esp),%edx
453c91:	8b 46 1c             	mov    0x1c(%esi),%eax
453c94:	8b 40 14             	mov    0x14(%eax),%eax
453c97:	8b 08                	mov    (%eax),%ecx
453c99:	ff 91 90 00 00 00    	call   *0x90(%ecx)
453c9f:	8b c7                	mov    %edi,%eax
453ca1:	fe c8                	dec    %al
453ca3:	74 0d                	je     0x453cb2
453ca5:	fe c8                	dec    %al
453ca7:	75 12                	jne    0x453cbb
453ca9:	8b 44 24 04          	mov    0x4(%esp),%eax
453cad:	89 04 24             	mov    %eax,(%esp)
453cb0:	eb 0e                	jmp    0x453cc0
453cb2:	8b 44 24 08          	mov    0x8(%esp),%eax
453cb6:	89 04 24             	mov    %eax,(%esp)
453cb9:	eb 05                	jmp    0x453cc0
453cbb:	33 c0                	xor    %eax,%eax
453cbd:	89 04 24             	mov    %eax,(%esp)
453cc0:	8b 04 24             	mov    (%esp),%eax
453cc3:	83 c4 14             	add    $0x14,%esp
453cc6:	5d                   	pop    %ebp
453cc7:	5f                   	pop    %edi
453cc8:	5e                   	pop    %esi
453cc9:	5b                   	pop    %ebx
453cca:	c3                   	ret
453ccb:	90                   	nop
453ccc:	53                   	push   %ebx
453ccd:	56                   	push   %esi
453cce:	57                   	push   %edi
453ccf:	55                   	push   %ebp
453cd0:	83 c4 f0             	add    $0xfffffff0,%esp
453cd3:	8b fa                	mov    %edx,%edi
453cd5:	8b d8                	mov    %eax,%ebx
453cd7:	8b 43 1c             	mov    0x1c(%ebx),%eax
453cda:	3b 58 64             	cmp    0x64(%eax),%ebx
453cdd:	74 1b                	je     0x453cfa
453cdf:	8b 43 1c             	mov    0x1c(%ebx),%eax
453ce2:	8b 70 64             	mov    0x64(%eax),%esi
453ce5:	3b 73 14             	cmp    0x14(%ebx),%esi
453ce8:	75 46                	jne    0x453d30
453cea:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
453cee:	74 40                	je     0x453d30
453cf0:	8b c6                	mov    %esi,%eax
453cf2:	e8 65 fe ff ff       	call   0x453b5c
453cf7:	48                   	dec    %eax
453cf8:	75 36                	jne    0x453d30
453cfa:	8b d4                	mov    %esp,%edx
453cfc:	8b 43 1c             	mov    0x1c(%ebx),%eax