414c83:	2b 44 24 10          	sub    0x10(%esp),%eax
414c87:	1b 54 24 14          	sbb    0x14(%esp),%edx
414c8b:	4d                   	dec    %ebp
414c8c:	79 07                	jns    0x414c95
414c8e:	f7 da                	neg    %edx
414c90:	f7 d8                	neg    %eax
414c92:	83 da 00             	sbb    $0x0,%edx
414c95:	8b ca                	mov    %edx,%ecx
414c97:	8b d3                	mov    %ebx,%edx
414c99:	8b d9                	mov    %ecx,%ebx
414c9b:	8b c8                	mov    %eax,%ecx
414c9d:	8b c6                	mov    %esi,%eax
414c9f:	4f                   	dec    %edi
414ca0:	75 07                	jne    0x414ca9
414ca2:	f7 da                	neg    %edx
414ca4:	f7 d8                	neg    %eax
414ca6:	83 da 00             	sbb    $0x0,%edx
414ca9:	5d                   	pop    %ebp
414caa:	5e                   	pop    %esi
414cab:	5f                   	pop    %edi
414cac:	c2 10 00             	ret    $0x10
414caf:	cc                   	int3
414cb0:	80 f9 40             	cmp    $0x40,%cl
414cb3:	73 15                	jae    0x414cca
414cb5:	80 f9 20             	cmp    $0x20,%cl
414cb8:	73 06                	jae    0x414cc0
414cba:	0f ad d0             	shrd   %cl,%edx,%eax
414cbd:	d3 ea                	shr    %cl,%edx
414cbf:	c3                   	ret
414cc0:	8b c2                	mov    %edx,%eax
414cc2:	33 d2                	xor    %edx,%edx
414cc4:	80 e1 1f             	and    $0x1f,%cl
414cc7:	d3 e8                	shr    %cl,%eax
414cc9:	c3                   	ret
414cca:	33 c0                	xor    %eax,%eax
414ccc:	33 d2                	xor    %edx,%edx
414cce:	c3                   	ret
414ccf:	55                   	push   %ebp
414cd0:	8b ec                	mov    %esp,%ebp
414cd2:	8b 4d 10             	mov    0x10(%ebp),%ecx
414cd5:	8b 45 0c             	mov    0xc(%ebp),%eax
414cd8:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
414cde:	23 c1                	and    %ecx,%eax
414ce0:	56                   	push   %esi
414ce1:	8b 75 08             	mov    0x8(%ebp),%esi
414ce4:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
414ce9:	74 24                	je     0x414d0f
414ceb:	85 f6                	test   %esi,%esi
414ced:	74 0d                	je     0x414cfc
414cef:	6a 00                	push   $0x0
414cf1:	6a 00                	push   $0x0
414cf3:	e8 d2 22 00 00       	call   0x416fca
414cf8:	59                   	pop    %ecx
414cf9:	59                   	pop    %ecx
414cfa:	89 06                	mov    %eax,(%esi)
414cfc:	e8 7c 34 ff ff       	call   0x40817d
414d01:	6a 16                	push   $0x16
414d03:	5e                   	pop    %esi
414d04:	89 30                	mov    %esi,(%eax)
414d06:	e8 ea 68 ff ff       	call   0x40b5f5
414d0b:	8b c6                	mov    %esi,%eax
414d0d:	eb 1a                	jmp    0x414d29
414d0f:	51                   	push   %ecx
414d10:	ff 75 0c             	push   0xc(%ebp)
414d13:	85 f6                	test   %esi,%esi
414d15:	74 09                	je     0x414d20
414d17:	e8 ae 22 00 00       	call   0x416fca
414d1c:	89 06                	mov    %eax,(%esi)
414d1e:	eb 05                	jmp    0x414d25
414d20:	e8 a5 22 00 00       	call   0x416fca
414d25:	59                   	pop    %ecx
414d26:	59                   	pop    %ecx
414d27:	33 c0                	xor    %eax,%eax
414d29:	5e                   	pop    %esi
414d2a:	5d                   	pop    %ebp
414d2b:	c3                   	ret
414d2c:	6a 02                	push   $0x2
414d2e:	e8 98 5d ff ff       	call   0x40aacb
414d33:	59                   	pop    %ecx
414d34:	c3                   	ret
414d35:	55                   	push   %ebp
414d36:	8b ec                	mov    %esp,%ebp
414d38:	b8 ff ff 00 00       	mov    $0xffff,%eax
414d3d:	83 ec 14             	sub    $0x14,%esp
414d40:	66 39 45 08          	cmp    %ax,0x8(%ebp)
414d44:	0f 84 9b 00 00 00    	je     0x414de5
414d4a:	56                   	push   %esi
414d4b:	ff 75 0c             	push   0xc(%ebp)
414d4e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
414d51:	e8 a7 04 ff ff       	call   0x4051fd
414d56:	8b 75 ec             	mov    -0x14(%ebp),%esi
414d59:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
414d5f:	85 c0                	test   %eax,%eax
414d61:	75 18                	jne    0x414d7b
414d63:	8b 4d 08             	mov    0x8(%ebp),%ecx
414d66:	8d 41 bf             	lea    -0x41(%ecx),%eax
414d69:	66 83 f8 19          	cmp    $0x19,%ax
414d6d:	77 04                	ja     0x414d73
414d6f:	66 83 c1 20          	add    $0x20,%cx
414d73:	0f b7 c1             	movzwl %cx,%eax
414d76:	0f b7 c0             	movzwl %ax,%eax
414d79:	eb 1f                	jmp    0x414d9a
414d7b:	ba 00 01 00 00       	mov    $0x100,%edx
414d80:	6a 01                	push   $0x1
414d82:	66 39 55 08          	cmp    %dx,0x8(%ebp)
414d86:	73 2a                	jae    0x414db2
414d88:	ff 75 08             	push   0x8(%ebp)
414d8b:	e8 57 00 00 00       	call   0x414de7
414d90:	59                   	pop    %ecx
414d91:	59                   	pop    %ecx
414d92:	85 c0                	test   %eax,%eax
414d94:	75 09                	jne    0x414d9f
414d96:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
414d9a:	0f b7 c0             	movzwl %ax,%eax
414d9d:	eb 0e                	jmp    0x414dad
414d9f:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
414da3:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
414da9:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
414dad:	0f b7 c0             	movzwl %ax,%eax
414db0:	eb 1c                	jmp    0x414dce
414db2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
414db5:	51                   	push   %ecx
414db6:	6a 01                	push   $0x1
414db8:	8d 4d 08             	lea    0x8(%ebp),%ecx
414dbb:	51                   	push   %ecx
414dbc:	52                   	push   %edx
414dbd:	50                   	push   %eax
414dbe:	e8 8d 58 ff ff       	call   0x40a650
414dc3:	83 c4 18             	add    $0x18,%esp
414dc6:	85 c0                	test   %eax,%eax
414dc8:	75 09                	jne    0x414dd3
414dca:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
414dce:	0f b7 c0             	movzwl %ax,%eax
414dd1:	eb 04                	jmp    0x414dd7
414dd3:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
414dd7:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
414ddb:	5e                   	pop    %esi
414ddc:	74 07                	je     0x414de5
414dde:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414de1:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
414de5:	c9                   	leave
414de6:	c3                   	ret
414de7:	55                   	push   %ebp
414de8:	8b ec                	mov    %esp,%ebp
414dea:	51                   	push   %ecx
414deb:	66 8b 45 08          	mov    0x8(%ebp),%ax
414def:	b9 ff ff 00 00       	mov    $0xffff,%ecx
414df4:	66 3b c1             	cmp    %cx,%ax
414df7:	75 04                	jne    0x414dfd
414df9:	33 c0                	xor    %eax,%eax
414dfb:	c9                   	leave
414dfc:	c3                   	ret
414dfd:	b9 00 01 00 00       	mov    $0x100,%ecx
414e02:	66 3b c1             	cmp    %cx,%ax
414e05:	73 0e                	jae    0x414e15
414e07:	0f b7 c8             	movzwl %ax,%ecx
414e0a:	a1 84 08 42 00       	mov    0x420884,%eax
414e0f:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
414e13:	eb 1c                	jmp    0x414e31
414e15:	8d 45 fc             	lea    -0x4(%ebp),%eax
414e18:	50                   	push   %eax
414e19:	6a 01                	push   $0x1
414e1b:	8d 45 08             	lea    0x8(%ebp),%eax
414e1e:	50                   	push   %eax
414e1f:	6a 01                	push   $0x1
414e21:	ff 15 78 90 41 00    	call   *0x419078
414e27:	f7 d8                	neg    %eax
414e29:	1b c0                	sbb    %eax,%eax
414e2b:	23 45 fc             	and    -0x4(%ebp),%eax
414e2e:	0f b7 c0             	movzwl %ax,%eax
414e31:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
414e35:	23 c1                	and    %ecx,%eax
414e37:	c9                   	leave
414e38:	c3                   	ret
414e39:	53                   	push   %ebx
414e3a:	8b dc                	mov    %esp,%ebx
414e3c:	51                   	push   %ecx
414e3d:	51                   	push   %ecx
414e3e:	83 e4 f0             	and    $0xfffffff0,%esp
414e41:	83 c4 04             	add    $0x4,%esp
414e44:	55                   	push   %ebp
414e45:	8b 6b 04             	mov    0x4(%ebx),%ebp
414e48:	89 6c 24 04          	mov    %ebp,0x4(%esp)
414e4c:	8b ec                	mov    %esp,%ebp
414e4e:	81 ec 88 00 00 00    	sub    $0x88,%esp
414e54:	a1 90 08 42 00       	mov    0x420890,%eax
414e59:	33 c5                	xor    %ebp,%eax
414e5b:	89 45 fc             	mov    %eax,-0x4(%ebp)
414e5e:	8b 43 10             	mov    0x10(%ebx),%eax
414e61:	56                   	push   %esi
414e62:	8b 73 0c             	mov    0xc(%ebx),%esi
414e65:	0f b7 08             	movzwl (%eax),%ecx
414e68:	8b 06                	mov    (%esi),%eax
414e6a:	57                   	push   %edi
414e6b:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
414e71:	48                   	dec    %eax
414e72:	74 2b                	je     0x414e9f
414e74:	48                   	dec    %eax
414e75:	74 24                	je     0x414e9b
414e77:	48                   	dec    %eax
414e78:	74 1d                	je     0x414e97
414e7a:	48                   	dec    %eax
414e7b:	74 16                	je     0x414e93
414e7d:	48                   	dec    %eax
414e7e:	74 1f                	je     0x414e9f
414e80:	48                   	dec    %eax
414e81:	48                   	dec    %eax
414e82:	74 07                	je     0x414e8b
414e84:	48                   	dec    %eax
414e85:	75 7a                	jne    0x414f01
414e87:	6a 10                	push   $0x10
414e89:	eb 16                	jmp    0x414ea1
414e8b:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
414e91:	eb 6e                	jmp    0x414f01
414e93:	6a 12                	push   $0x12
414e95:	eb 0a                	jmp    0x414ea1
414e97:	6a 11                	push   $0x11
414e99:	eb 06                	jmp    0x414ea1
414e9b:	6a 04                	push   $0x4
414e9d:	eb 02                	jmp    0x414ea1
414e9f:	6a 08                	push   $0x8
414ea1:	5f                   	pop    %edi
414ea2:	51                   	push   %ecx
414ea3:	8d 46 18             	lea    0x18(%esi),%eax
414ea6:	50                   	push   %eax
414ea7:	57                   	push   %edi
414ea8:	e8 6b b1 ff ff       	call   0x410018
414ead:	83 c4 0c             	add    $0xc,%esp
414eb0:	85 c0                	test   %eax,%eax
414eb2:	75 47                	jne    0x414efb
414eb4:	8b 4b 08             	mov    0x8(%ebx),%ecx
414eb7:	83 f9 10             	cmp    $0x10,%ecx
414eba:	74 10                	je     0x414ecc
414ebc:	83 f9 16             	cmp    $0x16,%ecx
414ebf:	74 0b                	je     0x414ecc
414ec1:	83 f9 1d             	cmp    $0x1d,%ecx
414ec4:	74 06                	je     0x414ecc
414ec6:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
414eca:	eb 12                	jmp    0x414ede
414ecc:	8b 45 c0             	mov    -0x40(%ebp),%eax
414ecf:	dd 46 10             	fldl   0x10(%esi)
414ed2:	83 e0 e3             	and    $0xffffffe3,%eax
414ed5:	dd 5d b0             	fstpl  -0x50(%ebp)
414ed8:	83 c8 03             	or     $0x3,%eax
414edb:	89 45 c0             	mov    %eax,-0x40(%ebp)
414ede:	8d 46 18             	lea    0x18(%esi),%eax
414ee1:	50                   	push   %eax
414ee2:	8d 46 08             	lea    0x8(%esi),%eax
414ee5:	50                   	push   %eax
414ee6:	51                   	push   %ecx
414ee7:	57                   	push   %edi
414ee8:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
414eee:	50                   	push   %eax
414eef:	8d 45 80             	lea    -0x80(%ebp),%eax
414ef2:	50                   	push   %eax
414ef3:	e8 fc b2 ff ff       	call   0x4101f4
414ef8:	83 c4 18             	add    $0x18,%esp
414efb:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
414f01:	68 ff ff 00 00       	push   $0xffff
414f06:	51                   	push   %ecx
414f07:	e8 a0 b6 ff ff       	call   0x4105ac
414f0c:	83 3e 08             	cmpl   $0x8,(%esi)
414f0f:	59                   	pop    %ecx
414f10:	59                   	pop    %ecx
414f11:	74 14                	je     0x414f27
414f13:	83 3d 90 13 42 00 00 	cmpl   $0x0,0x421390
414f1a:	75 0b                	jne    0x414f27
414f1c:	56                   	push   %esi
414f1d:	e8 f8 dc fe ff       	call   0x402c1a
414f22:	59                   	pop    %ecx
414f23:	85 c0                	test   %eax,%eax
414f25:	75 08                	jne    0x414f2f
414f27:	ff 36                	push   (%esi)
414f29:	e8 cc b5 ff ff       	call   0x4104fa
414f2e:	59                   	pop    %ecx
414f2f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414f32:	5f                   	pop    %edi
414f33:	33 cd                	xor    %ebp,%ecx
414f35:	5e                   	pop    %esi
414f36:	e8 fe f7 fe ff       	call   0x404739
414f3b:	8b e5                	mov    %ebp,%esp
414f3d:	5d                   	pop    %ebp
414f3e:	8b e3                	mov    %ebx,%esp
414f40:	5b                   	pop    %ebx
414f41:	c3                   	ret
414f42:	55                   	push   %ebp
414f43:	8b ec                	mov    %esp,%ebp
414f45:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
414f49:	8b 45 08             	mov    0x8(%ebp),%eax
414f4c:	75 0a                	jne    0x414f58
414f4e:	85 c0                	test   %eax,%eax
414f50:	79 06                	jns    0x414f58
414f52:	6a 01                	push   $0x1
414f54:	6a 0a                	push   $0xa
414f56:	eb 05                	jmp    0x414f5d
414f58:	6a 00                	push   $0x0
414f5a:	ff 75 14             	push   0x14(%ebp)
414f5d:	ff 75 10             	push   0x10(%ebp)
414f60:	ff 75 0c             	push   0xc(%ebp)
414f63:	50                   	push   %eax
414f64:	e8 02 00 00 00       	call   0x414f6b
414f69:	5d                   	pop    %ebp
414f6a:	c3                   	ret
414f6b:	55                   	push   %ebp
414f6c:	8b ec                	mov    %esp,%ebp
414f6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414f71:	56                   	push   %esi
414f72:	85 c9                	test   %ecx,%ecx
414f74:	75 16                	jne    0x414f8c
414f76:	e8 02 32 ff ff       	call   0x40817d
414f7b:	6a 16                	push   $0x16
414f7d:	5e                   	pop    %esi
414f7e:	89 30                	mov    %esi,(%eax)
414f80:	e8 70 66 ff ff       	call   0x40b5f5
414f85:	8b c6                	mov    %esi,%eax
414f87:	e9 cd 00 00 00       	jmp    0x415059
414f8c:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
414f90:	53                   	push   %ebx
414f91:	57                   	push   %edi
414f92:	77 0d                	ja     0x414fa1
414f94:	e8 e4 31 ff ff       	call   0x40817d
414f99:	6a 16                	push   $0x16
414f9b:	5e                   	pop    %esi
414f9c:	e9 8b 00 00 00       	jmp    0x41502c
414fa1:	8b 55 18             	mov    0x18(%ebp),%edx
414fa4:	33 c0                	xor    %eax,%eax
414fa6:	85 d2                	test   %edx,%edx
414fa8:	66 89 01             	mov    %ax,(%ecx)
414fab:	0f 95 c0             	setne  %al
414fae:	40                   	inc    %eax
414faf:	39 45 10             	cmp    %eax,0x10(%ebp)
414fb2:	77 09                	ja     0x414fbd
414fb4:	e8 c4 31 ff ff       	call   0x40817d
414fb9:	6a 22                	push   $0x22
414fbb:	eb de                	jmp    0x414f9b
414fbd:	8b 45 14             	mov    0x14(%ebp),%eax
414fc0:	6a 22                	push   $0x22
414fc2:	83 c0 fe             	add    $0xfffffffe,%eax
414fc5:	5e                   	pop    %esi
414fc6:	3b c6                	cmp    %esi,%eax
414fc8:	77 ca                	ja     0x414f94
414fca:	33 c0                	xor    %eax,%eax
414fcc:	85 d2                	test   %edx,%edx
414fce:	8b 55 08             	mov    0x8(%ebp),%edx
414fd1:	89 45 18             	mov    %eax,0x18(%ebp)
414fd4:	8b f9                	mov    %ecx,%edi
414fd6:	74 11                	je     0x414fe9
414fd8:	6a 2d                	push   $0x2d
414fda:	58                   	pop    %eax
414fdb:	66 89 01             	mov    %ax,(%ecx)