4169b3:	53                   	push   %ebx
4169b4:	e8 6c e8 fe ff       	call   0x405225
4169b9:	83 c4 14             	add    $0x14,%esp
4169bc:	8b c6                	mov    %esi,%eax
4169be:	e9 85 00 00 00       	jmp    0x416a48
4169c3:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4169c6:	76 dd                	jbe    0x4169a5
4169c8:	8b 55 10             	mov    0x10(%ebp),%edx
4169cb:	3b d3                	cmp    %ebx,%edx
4169cd:	88 1e                	mov    %bl,(%esi)
4169cf:	7e 04                	jle    0x4169d5
4169d1:	8b c2                	mov    %edx,%eax
4169d3:	eb 02                	jmp    0x4169d7
4169d5:	33 c0                	xor    %eax,%eax
4169d7:	40                   	inc    %eax
4169d8:	39 45 0c             	cmp    %eax,0xc(%ebp)
4169db:	77 0e                	ja     0x4169eb
4169dd:	e8 f3 f0 fe ff       	call   0x405ad5
4169e2:	6a 22                	push   $0x22
4169e4:	59                   	pop    %ecx
4169e5:	89 08                	mov    %ecx,(%eax)
4169e7:	8b f1                	mov    %ecx,%esi
4169e9:	eb c4                	jmp    0x4169af
4169eb:	3b d3                	cmp    %ebx,%edx
4169ed:	c6 06 30             	movb   $0x30,(%esi)
4169f0:	8d 46 01             	lea    0x1(%esi),%eax
4169f3:	7e 1a                	jle    0x416a0f
4169f5:	8a 0f                	mov    (%edi),%cl
4169f7:	3a cb                	cmp    %bl,%cl
4169f9:	74 06                	je     0x416a01
4169fb:	0f be c9             	movsbl %cl,%ecx
4169fe:	47                   	inc    %edi
4169ff:	eb 03                	jmp    0x416a04
416a01:	6a 30                	push   $0x30
416a03:	59                   	pop    %ecx
416a04:	88 08                	mov    %cl,(%eax)
416a06:	40                   	inc    %eax
416a07:	4a                   	dec    %edx
416a08:	3b d3                	cmp    %ebx,%edx
416a0a:	7f e9                	jg     0x4169f5
416a0c:	8b 4d 14             	mov    0x14(%ebp),%ecx
416a0f:	3b d3                	cmp    %ebx,%edx
416a11:	88 18                	mov    %bl,(%eax)
416a13:	7c 12                	jl     0x416a27
416a15:	80 3f 35             	cmpb   $0x35,(%edi)
416a18:	7c 0d                	jl     0x416a27
416a1a:	eb 03                	jmp    0x416a1f
416a1c:	c6 00 30             	movb   $0x30,(%eax)
416a1f:	48                   	dec    %eax
416a20:	80 38 39             	cmpb   $0x39,(%eax)
416a23:	74 f7                	je     0x416a1c
416a25:	fe 00                	incb   (%eax)
416a27:	80 3e 31             	cmpb   $0x31,(%esi)
416a2a:	75 05                	jne    0x416a31
416a2c:	ff 41 04             	incl   0x4(%ecx)
416a2f:	eb 15                	jmp    0x416a46
416a31:	8d 7e 01             	lea    0x1(%esi),%edi
416a34:	57                   	push   %edi
416a35:	e8 26 f5 fe ff       	call   0x405f60
416a3a:	40                   	inc    %eax
416a3b:	50                   	push   %eax
416a3c:	57                   	push   %edi
416a3d:	56                   	push   %esi
416a3e:	e8 6d 1a ff ff       	call   0x4084b0
416a43:	83 c4 10             	add    $0x10,%esp
416a46:	33 c0                	xor    %eax,%eax
416a48:	5f                   	pop    %edi
416a49:	5e                   	pop    %esi
416a4a:	5b                   	pop    %ebx
416a4b:	5d                   	pop    %ebp
416a4c:	c3                   	ret
416a4d:	8b ff                	mov    %edi,%edi
416a4f:	55                   	push   %ebp
416a50:	8b ec                	mov    %esp,%ebp
416a52:	51                   	push   %ecx
416a53:	8b 55 0c             	mov    0xc(%ebp),%edx
416a56:	0f b7 42 06          	movzwl 0x6(%edx),%eax
416a5a:	53                   	push   %ebx
416a5b:	8b c8                	mov    %eax,%ecx
416a5d:	56                   	push   %esi
416a5e:	57                   	push   %edi
416a5f:	c1 e9 04             	shr    $0x4,%ecx
416a62:	25 00 80 00 00       	and    $0x8000,%eax
416a67:	bf ff 07 00 00       	mov    $0x7ff,%edi
416a6c:	23 cf                	and    %edi,%ecx
416a6e:	89 45 0c             	mov    %eax,0xc(%ebp)
416a71:	8b 42 04             	mov    0x4(%edx),%eax
416a74:	8b 12                	mov    (%edx),%edx
416a76:	0f b7 d9             	movzwl %cx,%ebx
416a79:	be 00 00 00 80       	mov    $0x80000000,%esi
416a7e:	25 ff ff 0f 00       	and    $0xfffff,%eax
416a83:	89 75 fc             	mov    %esi,-0x4(%ebp)
416a86:	85 db                	test   %ebx,%ebx
416a88:	74 13                	je     0x416a9d
416a8a:	3b df                	cmp    %edi,%ebx
416a8c:	74 08                	je     0x416a96
416a8e:	81 c1 00 3c 00 00    	add    $0x3c00,%ecx
416a94:	eb 28                	jmp    0x416abe
416a96:	bf ff 7f 00 00       	mov    $0x7fff,%edi
416a9b:	eb 24                	jmp    0x416ac1
416a9d:	33 db                	xor    %ebx,%ebx
416a9f:	3b c3                	cmp    %ebx,%eax
416aa1:	75 12                	jne    0x416ab5
416aa3:	3b d3                	cmp    %ebx,%edx
416aa5:	75 0e                	jne    0x416ab5
416aa7:	8b 45 08             	mov    0x8(%ebp),%eax
416aaa:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
416aae:	89 58 04             	mov    %ebx,0x4(%eax)
416ab1:	89 18                	mov    %ebx,(%eax)
416ab3:	eb 4c                	jmp    0x416b01
416ab5:	81 c1 01 3c 00 00    	add    $0x3c01,%ecx
416abb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
416abe:	0f b7 f9             	movzwl %cx,%edi
416ac1:	8b ca                	mov    %edx,%ecx
416ac3:	c1 e9 15             	shr    $0x15,%ecx
416ac6:	c1 e0 0b             	shl    $0xb,%eax
416ac9:	0b c8                	or     %eax,%ecx
416acb:	0b 4d fc             	or     -0x4(%ebp),%ecx
416ace:	8b 45 08             	mov    0x8(%ebp),%eax
416ad1:	c1 e2 0b             	shl    $0xb,%edx
416ad4:	89 48 04             	mov    %ecx,0x4(%eax)
416ad7:	89 10                	mov    %edx,(%eax)
416ad9:	85 ce                	test   %ecx,%esi
416adb:	75 1f                	jne    0x416afc
416add:	8b 08                	mov    (%eax),%ecx
416adf:	8b 50 04             	mov    0x4(%eax),%edx
416ae2:	8b d9                	mov    %ecx,%ebx
416ae4:	03 d2                	add    %edx,%edx
416ae6:	c1 eb 1f             	shr    $0x1f,%ebx
416ae9:	0b d3                	or     %ebx,%edx
416aeb:	03 c9                	add    %ecx,%ecx
416aed:	81 c7 ff ff 00 00    	add    $0xffff,%edi
416af3:	89 50 04             	mov    %edx,0x4(%eax)
416af6:	89 08                	mov    %ecx,(%eax)
416af8:	85 d6                	test   %edx,%esi
416afa:	74 e1                	je     0x416add
416afc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416aff:	0b cf                	or     %edi,%ecx
416b01:	5f                   	pop    %edi
416b02:	5e                   	pop    %esi
416b03:	66 89 48 08          	mov    %cx,0x8(%eax)
416b07:	5b                   	pop    %ebx
416b08:	c9                   	leave
416b09:	c3                   	ret
416b0a:	8b ff                	mov    %edi,%edi
416b0c:	55                   	push   %ebp
416b0d:	8b ec                	mov    %esp,%ebp
416b0f:	83 ec 30             	sub    $0x30,%esp
416b12:	a1 68 b2 42 00       	mov    0x42b268,%eax
416b17:	33 c5                	xor    %ebp,%eax
416b19:	89 45 fc             	mov    %eax,-0x4(%ebp)
416b1c:	8b 45 14             	mov    0x14(%ebp),%eax
416b1f:	53                   	push   %ebx
416b20:	8b 5d 10             	mov    0x10(%ebp),%ebx
416b23:	56                   	push   %esi
416b24:	89 45 d0             	mov    %eax,-0x30(%ebp)
416b27:	57                   	push   %edi
416b28:	8d 45 08             	lea    0x8(%ebp),%eax
416b2b:	50                   	push   %eax
416b2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
416b2f:	50                   	push   %eax
416b30:	e8 18 ff ff ff       	call   0x416a4d
416b35:	59                   	pop    %ecx
416b36:	59                   	pop    %ecx
416b37:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416b3a:	50                   	push   %eax
416b3b:	6a 00                	push   $0x0
416b3d:	6a 11                	push   $0x11
416b3f:	83 ec 0c             	sub    $0xc,%esp
416b42:	8d 75 f0             	lea    -0x10(%ebp),%esi
416b45:	8b fc                	mov    %esp,%edi
416b47:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416b48:	a5                   	movsl  %ds:(%esi),%es:(%edi)
416b49:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
416b4b:	e8 4d 1a 00 00       	call   0x41859d
416b50:	8b 75 d0             	mov    -0x30(%ebp),%esi
416b53:	89 43 08             	mov    %eax,0x8(%ebx)
416b56:	0f be 45 d6          	movsbl -0x2a(%ebp),%eax
416b5a:	89 03                	mov    %eax,(%ebx)
416b5c:	0f bf 45 d4          	movswl -0x2c(%ebp),%eax
416b60:	89 43 04             	mov    %eax,0x4(%ebx)
416b63:	8d 45 d8             	lea    -0x28(%ebp),%eax
416b66:	50                   	push   %eax
416b67:	ff 75 18             	push   0x18(%ebp)
416b6a:	56                   	push   %esi
416b6b:	e8 47 2a ff ff       	call   0x4095b7
416b70:	83 c4 24             	add    $0x24,%esp
416b73:	85 c0                	test   %eax,%eax
416b75:	74 0f                	je     0x416b86
416b77:	33 c0                	xor    %eax,%eax
416b79:	50                   	push   %eax
416b7a:	50                   	push   %eax
416b7b:	50                   	push   %eax
416b7c:	50                   	push   %eax
416b7d:	50                   	push   %eax
416b7e:	e8 7a e5 fe ff       	call   0x4050fd
416b83:	83 c4 14             	add    $0x14,%esp
416b86:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416b89:	5f                   	pop    %edi
416b8a:	89 73 0c             	mov    %esi,0xc(%ebx)
416b8d:	5e                   	pop    %esi
416b8e:	8b c3                	mov    %ebx,%eax
416b90:	33 cd                	xor    %ebp,%ecx
416b92:	5b                   	pop    %ebx
416b93:	e8 8e fa fe ff       	call   0x406626
416b98:	c9                   	leave
416b99:	c3                   	ret
416b9a:	cc                   	int3
416b9b:	cc                   	int3
416b9c:	cc                   	int3
416b9d:	cc                   	int3
416b9e:	cc                   	int3
416b9f:	cc                   	int3
416ba0:	57                   	push   %edi
416ba1:	56                   	push   %esi
416ba2:	55                   	push   %ebp
416ba3:	33 ff                	xor    %edi,%edi
416ba5:	33 ed                	xor    %ebp,%ebp
416ba7:	8b 44 24 14          	mov    0x14(%esp),%eax
416bab:	0b c0                	or     %eax,%eax
416bad:	7d 15                	jge    0x416bc4
416baf:	47                   	inc    %edi
416bb0:	45                   	inc    %ebp
416bb1:	8b 54 24 10          	mov    0x10(%esp),%edx
416bb5:	f7 d8                	neg    %eax
416bb7:	f7 da                	neg    %edx
416bb9:	83 d8 00             	sbb    $0x0,%eax
416bbc:	89 44 24 14          	mov    %eax,0x14(%esp)
416bc0:	89 54 24 10          	mov    %edx,0x10(%esp)
416bc4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
416bc8:	0b c0                	or     %eax,%eax
416bca:	7d 14                	jge    0x416be0
416bcc:	47                   	inc    %edi
416bcd:	8b 54 24 18          	mov    0x18(%esp),%edx
416bd1:	f7 d8                	neg    %eax
416bd3:	f7 da                	neg    %edx
416bd5:	83 d8 00             	sbb    $0x0,%eax
416bd8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
416bdc:	89 54 24 18          	mov    %edx,0x18(%esp)
416be0:	0b c0                	or     %eax,%eax
416be2:	75 28                	jne    0x416c0c
416be4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
416be8:	8b 44 24 14          	mov    0x14(%esp),%eax
416bec:	33 d2                	xor    %edx,%edx
416bee:	f7 f1                	div    %ecx
416bf0:	8b d8                	mov    %eax,%ebx
416bf2:	8b 44 24 10          	mov    0x10(%esp),%eax
416bf6:	f7 f1                	div    %ecx
416bf8:	8b f0                	mov    %eax,%esi
416bfa:	8b c3                	mov    %ebx,%eax
416bfc:	f7 64 24 18          	mull   0x18(%esp)
416c00:	8b c8                	mov    %eax,%ecx
416c02:	8b c6                	mov    %esi,%eax
416c04:	f7 64 24 18          	mull   0x18(%esp)
416c08:	03 d1                	add    %ecx,%edx
416c0a:	eb 47                	jmp    0x416c53
416c0c:	8b d8                	mov    %eax,%ebx
416c0e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
416c12:	8b 54 24 14          	mov    0x14(%esp),%edx
416c16:	8b 44 24 10          	mov    0x10(%esp),%eax
416c1a:	d1 eb                	shr    $1,%ebx
416c1c:	d1 d9                	rcr    $1,%ecx
416c1e:	d1 ea                	shr    $1,%edx
416c20:	d1 d8                	rcr    $1,%eax
416c22:	0b db                	or     %ebx,%ebx
416c24:	75 f4                	jne    0x416c1a
416c26:	f7 f1                	div    %ecx
416c28:	8b f0                	mov    %eax,%esi
416c2a:	f7 64 24 1c          	mull   0x1c(%esp)
416c2e:	8b c8                	mov    %eax,%ecx
416c30:	8b 44 24 18          	mov    0x18(%esp),%eax
416c34:	f7 e6                	mul    %esi
416c36:	03 d1                	add    %ecx,%edx
416c38:	72 0e                	jb     0x416c48
416c3a:	3b 54 24 14          	cmp    0x14(%esp),%edx
416c3e:	77 08                	ja     0x416c48
416c40:	72 0f                	jb     0x416c51
416c42:	3b 44 24 10          	cmp    0x10(%esp),%eax
416c46:	76 09                	jbe    0x416c51
416c48:	4e                   	dec    %esi
416c49:	2b 44 24 18          	sub    0x18(%esp),%eax
416c4d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
416c51:	33 db                	xor    %ebx,%ebx
416c53:	2b 44 24 10          	sub    0x10(%esp),%eax
416c57:	1b 54 24 14          	sbb    0x14(%esp),%edx
416c5b:	4d                   	dec    %ebp
416c5c:	79 07                	jns    0x416c65
416c5e:	f7 da                	neg    %edx
416c60:	f7 d8                	neg    %eax
416c62:	83 da 00             	sbb    $0x0,%edx
416c65:	8b ca                	mov    %edx,%ecx
416c67:	8b d3                	mov    %ebx,%edx
416c69:	8b d9                	mov    %ecx,%ebx
416c6b:	8b c8                	mov    %eax,%ecx
416c6d:	8b c6                	mov    %esi,%eax
416c6f:	4f                   	dec    %edi
416c70:	75 07                	jne    0x416c79
416c72:	f7 da                	neg    %edx
416c74:	f7 d8                	neg    %eax
416c76:	83 da 00             	sbb    $0x0,%edx
416c79:	5d                   	pop    %ebp
416c7a:	5e                   	pop    %esi
416c7b:	5f                   	pop    %edi
416c7c:	c2 10 00             	ret    $0x10
416c7f:	cc                   	int3
416c80:	80 f9 40             	cmp    $0x40,%cl
416c83:	73 15                	jae    0x416c9a
416c85:	80 f9 20             	cmp    $0x20,%cl
416c88:	73 06                	jae    0x416c90
416c8a:	0f ad d0             	shrd   %cl,%edx,%eax
416c8d:	d3 ea                	shr    %cl,%edx
416c8f:	c3                   	ret
416c90:	8b c2                	mov    %edx,%eax
416c92:	33 d2                	xor    %edx,%edx
416c94:	80 e1 1f             	and    $0x1f,%cl
416c97:	d3 e8                	shr    %cl,%eax
416c99:	c3                   	ret
416c9a:	33 c0                	xor    %eax,%eax
416c9c:	33 d2                	xor    %edx,%edx
416c9e:	c3                   	ret
416c9f:	8b ff                	mov    %edi,%edi
416ca1:	55                   	push   %ebp
416ca2:	8b ec                	mov    %esp,%ebp
416ca4:	8b 45 10             	mov    0x10(%ebp),%eax
416ca7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416caa:	25 ff ff f7 ff       	and    $0xfff7ffff,%eax
416caf:	23 c8                	and    %eax,%ecx
416cb1:	56                   	push   %esi
416cb2:	f7 c1 e0 fc f0 fc    	test   $0xfcf0fce0,%ecx
416cb8:	74 31                	je     0x416ceb
416cba:	57                   	push   %edi
416cbb:	8b 7d 08             	mov    0x8(%ebp),%edi
416cbe:	33 f6                	xor    %esi,%esi
416cc0:	3b fe                	cmp    %esi,%edi
416cc2:	74 0b                	je     0x416ccf
416cc4:	56                   	push   %esi
416cc5:	56                   	push   %esi
416cc6:	e8 24 23 00 00       	call   0x418fef
416ccb:	59                   	pop    %ecx
416ccc:	59                   	pop    %ecx
416ccd:	89 07                	mov    %eax,(%edi)
416ccf:	e8 01 ee fe ff       	call   0x405ad5
416cd4:	6a 16                	push   $0x16
416cd6:	5f                   	pop    %edi
416cd7:	56                   	push   %esi
416cd8:	56                   	push   %esi
416cd9:	56                   	push   %esi
416cda:	56                   	push   %esi
416cdb:	56                   	push   %esi
416cdc:	89 38                	mov    %edi,(%eax)