ab4ea5:	cc                   	int3
ab4ea6:	cc                   	int3
ab4ea7:	cc                   	int3
ab4ea8:	cc                   	int3
ab4ea9:	cc                   	int3
ab4eaa:	cc                   	int3
ab4eab:	cc                   	int3
ab4eac:	8b ff                	mov    %edi,%edi
ab4eae:	55                   	push   %ebp
ab4eaf:	8b ec                	mov    %esp,%ebp
ab4eb1:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4eb6:	85 c0                	test   %eax,%eax
ab4eb8:	74 0e                	je     0xab4ec8
ab4eba:	6a 00                	push   $0x0
ab4ebc:	ff 75 08             	push   0x8(%ebp)
ab4ebf:	e8 85 f7 97 ff       	call   0x434649
ab4ec4:	59                   	pop    %ecx
ab4ec5:	59                   	pop    %ecx
ab4ec6:	5d                   	pop    %ebp
ab4ec7:	c3                   	ret
ab4ec8:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4ecb:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4ed0:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4ed4:	83 e0 20             	and    $0x20,%eax
ab4ed7:	5d                   	pop    %ebp
ab4ed8:	c3                   	ret
ab4ed9:	cc                   	int3
ab4eda:	cc                   	int3
ab4edb:	cc                   	int3
ab4edc:	cc                   	int3
ab4edd:	cc                   	int3
ab4ede:	cc                   	int3
ab4edf:	cc                   	int3
ab4ee0:	cc                   	int3
ab4ee1:	cc                   	int3
ab4ee2:	cc                   	int3
ab4ee3:	cc                   	int3
ab4ee4:	8b ff                	mov    %edi,%edi
ab4ee6:	55                   	push   %ebp
ab4ee7:	8b ec                	mov    %esp,%ebp
ab4ee9:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4eee:	85 c0                	test   %eax,%eax
ab4ef0:	74 0e                	je     0xab4f00
ab4ef2:	6a 00                	push   $0x0
ab4ef4:	ff 75 08             	push   0x8(%ebp)
ab4ef7:	e8 54 8e 95 ff       	call   0x40dd50
ab4efc:	59                   	pop    %ecx
ab4efd:	59                   	pop    %ecx
ab4efe:	5d                   	pop    %ebp
ab4eff:	c3                   	ret
ab4f00:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4f03:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4f08:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4f0c:	83 e0 04             	and    $0x4,%eax
ab4f0f:	5d                   	pop    %ebp
ab4f10:	c3                   	ret
ab4f11:	cc                   	int3
ab4f12:	cc                   	int3
ab4f13:	cc                   	int3
ab4f14:	cc                   	int3
ab4f15:	cc                   	int3
ab4f16:	cc                   	int3
ab4f17:	cc                   	int3
ab4f18:	cc                   	int3
ab4f19:	cc                   	int3
ab4f1a:	cc                   	int3
ab4f1b:	cc                   	int3
ab4f1c:	8b ff                	mov    %edi,%edi
ab4f1e:	55                   	push   %ebp
ab4f1f:	8b ec                	mov    %esp,%ebp
ab4f21:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4f26:	85 c0                	test   %eax,%eax
ab4f28:	74 0e                	je     0xab4f38
ab4f2a:	6a 00                	push   $0x0
ab4f2c:	ff 75 08             	push   0x8(%ebp)
ab4f2f:	e8 04 72 97 ff       	call   0x42c138
ab4f34:	59                   	pop    %ecx
ab4f35:	59                   	pop    %ecx
ab4f36:	5d                   	pop    %ebp
ab4f37:	c3                   	ret
ab4f38:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4f3b:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4f40:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4f44:	25 17 01 00 00       	and    $0x117,%eax
ab4f49:	5d                   	pop    %ebp
ab4f4a:	c3                   	ret
ab4f4b:	cc                   	int3
ab4f4c:	cc                   	int3
ab4f4d:	cc                   	int3
ab4f4e:	cc                   	int3
ab4f4f:	cc                   	int3
ab4f50:	cc                   	int3
ab4f51:	cc                   	int3
ab4f52:	cc                   	int3
ab4f53:	cc                   	int3
ab4f54:	cc                   	int3
ab4f55:	cc                   	int3
ab4f56:	8b ff                	mov    %edi,%edi
ab4f58:	55                   	push   %ebp
ab4f59:	8b ec                	mov    %esp,%ebp
ab4f5b:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4f60:	85 c0                	test   %eax,%eax
ab4f62:	74 0e                	je     0xab4f72
ab4f64:	6a 00                	push   $0x0
ab4f66:	ff 75 08             	push   0x8(%ebp)
ab4f69:	e8 cc 69 98 ff       	call   0x43b93a
ab4f6e:	59                   	pop    %ecx
ab4f6f:	59                   	pop    %ecx
ab4f70:	5d                   	pop    %ebp
ab4f71:	c3                   	ret
ab4f72:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4f75:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4f7a:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4f7e:	83 e0 02             	and    $0x2,%eax
ab4f81:	5d                   	pop    %ebp
ab4f82:	c3                   	ret
ab4f83:	cc                   	int3
ab4f84:	cc                   	int3
ab4f85:	cc                   	int3
ab4f86:	cc                   	int3
ab4f87:	cc                   	int3
ab4f88:	cc                   	int3
ab4f89:	cc                   	int3
ab4f8a:	cc                   	int3
ab4f8b:	cc                   	int3
ab4f8c:	cc                   	int3
ab4f8d:	cc                   	int3
ab4f8e:	8b ff                	mov    %edi,%edi
ab4f90:	55                   	push   %ebp
ab4f91:	8b ec                	mov    %esp,%ebp
ab4f93:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4f98:	85 c0                	test   %eax,%eax
ab4f9a:	74 0e                	je     0xab4faa
ab4f9c:	6a 00                	push   $0x0
ab4f9e:	ff 75 08             	push   0x8(%ebp)
ab4fa1:	e8 33 81 96 ff       	call   0x41d0d9
ab4fa6:	59                   	pop    %ecx
ab4fa7:	59                   	pop    %ecx
ab4fa8:	5d                   	pop    %ebp
ab4fa9:	c3                   	ret
ab4faa:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4fad:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4fb2:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4fb6:	25 57 01 00 00       	and    $0x157,%eax
ab4fbb:	5d                   	pop    %ebp
ab4fbc:	c3                   	ret
ab4fbd:	cc                   	int3
ab4fbe:	cc                   	int3
ab4fbf:	cc                   	int3
ab4fc0:	cc                   	int3
ab4fc1:	cc                   	int3
ab4fc2:	cc                   	int3
ab4fc3:	cc                   	int3
ab4fc4:	cc                   	int3
ab4fc5:	cc                   	int3
ab4fc6:	cc                   	int3
ab4fc7:	cc                   	int3
ab4fc8:	8b ff                	mov    %edi,%edi
ab4fca:	55                   	push   %ebp
ab4fcb:	8b ec                	mov    %esp,%ebp
ab4fcd:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab4fd2:	85 c0                	test   %eax,%eax
ab4fd4:	74 0e                	je     0xab4fe4
ab4fd6:	6a 00                	push   $0x0
ab4fd8:	ff 75 08             	push   0x8(%ebp)
ab4fdb:	e8 74 2a 95 ff       	call   0x407a54
ab4fe0:	59                   	pop    %ecx
ab4fe1:	59                   	pop    %ecx
ab4fe2:	5d                   	pop    %ebp
ab4fe3:	c3                   	ret
ab4fe4:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab4fe7:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab4fec:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab4ff0:	83 e0 10             	and    $0x10,%eax
ab4ff3:	5d                   	pop    %ebp
ab4ff4:	c3                   	ret
ab4ff5:	cc                   	int3
ab4ff6:	cc                   	int3
ab4ff7:	cc                   	int3
ab4ff8:	cc                   	int3
ab4ff9:	cc                   	int3
ab4ffa:	cc                   	int3
ab4ffb:	cc                   	int3
ab4ffc:	cc                   	int3
ab4ffd:	cc                   	int3
ab4ffe:	cc                   	int3
ab4fff:	cc                   	int3
ab5000:	8b ff                	mov    %edi,%edi
ab5002:	55                   	push   %ebp
ab5003:	8b ec                	mov    %esp,%ebp
ab5005:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab500a:	85 c0                	test   %eax,%eax
ab500c:	74 0e                	je     0xab501c
ab500e:	6a 00                	push   $0x0
ab5010:	ff 75 08             	push   0x8(%ebp)
ab5013:	e8 12 66 97 ff       	call   0x42b62a
ab5018:	59                   	pop    %ecx
ab5019:	59                   	pop    %ecx
ab501a:	5d                   	pop    %ebp
ab501b:	c3                   	ret
ab501c:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab501f:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab5024:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab5028:	83 e0 08             	and    $0x8,%eax
ab502b:	5d                   	pop    %ebp
ab502c:	c3                   	ret
ab502d:	cc                   	int3
ab502e:	cc                   	int3
ab502f:	cc                   	int3
ab5030:	cc                   	int3
ab5031:	cc                   	int3
ab5032:	cc                   	int3
ab5033:	cc                   	int3
ab5034:	cc                   	int3
ab5035:	cc                   	int3
ab5036:	cc                   	int3
ab5037:	cc                   	int3
ab5038:	8b ff                	mov    %edi,%edi
ab503a:	55                   	push   %ebp
ab503b:	8b ec                	mov    %esp,%ebp
ab503d:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab5042:	85 c0                	test   %eax,%eax
ab5044:	74 0e                	je     0xab5054
ab5046:	6a 00                	push   $0x0
ab5048:	ff 75 08             	push   0x8(%ebp)
ab504b:	e8 84 83 98 ff       	call   0x43d3d4
ab5050:	59                   	pop    %ecx
ab5051:	59                   	pop    %ecx
ab5052:	5d                   	pop    %ebp
ab5053:	c3                   	ret
ab5054:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab5057:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab505c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab5060:	83 e0 01             	and    $0x1,%eax
ab5063:	5d                   	pop    %ebp
ab5064:	c3                   	ret
ab5065:	cc                   	int3
ab5066:	cc                   	int3
ab5067:	cc                   	int3
ab5068:	cc                   	int3
ab5069:	cc                   	int3
ab506a:	cc                   	int3
ab506b:	cc                   	int3
ab506c:	cc                   	int3
ab506d:	cc                   	int3
ab506e:	cc                   	int3
ab506f:	cc                   	int3
ab5070:	8b ff                	mov    %edi,%edi
ab5072:	55                   	push   %ebp
ab5073:	8b ec                	mov    %esp,%ebp
ab5075:	a1 90 24 d8 00       	mov    0xd82490,%eax
ab507a:	85 c0                	test   %eax,%eax
ab507c:	74 0e                	je     0xab508c
ab507e:	6a 00                	push   $0x0
ab5080:	ff 75 08             	push   0x8(%ebp)
ab5083:	e8 10 49 96 ff       	call   0x419998
ab5088:	59                   	pop    %ecx
ab5089:	59                   	pop    %ecx
ab508a:	5d                   	pop    %ebp
ab508b:	c3                   	ret
ab508c:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab508f:	a1 90 f9 d5 00       	mov    0xd5f990,%eax
ab5094:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
ab5098:	25 80 00 00 00       	and    $0x80,%eax
ab509d:	5d                   	pop    %ebp
ab509e:	c3                   	ret
ab509f:	cc                   	int3
ab50a0:	cc                   	int3
ab50a1:	cc                   	int3
ab50a2:	cc                   	int3
ab50a3:	cc                   	int3
ab50a4:	cc                   	int3
ab50a5:	cc                   	int3
ab50a6:	cc                   	int3
ab50a7:	cc                   	int3
ab50a8:	cc                   	int3
ab50a9:	cc                   	int3
ab50aa:	8b ff                	mov    %edi,%edi
ab50ac:	55                   	push   %ebp
ab50ad:	8b ec                	mov    %esp,%ebp
ab50af:	8b 45 08             	mov    0x8(%ebp),%eax
ab50b2:	56                   	push   %esi
ab50b3:	be 90 01 00 00       	mov    $0x190,%esi
ab50b8:	57                   	push   %edi
ab50b9:	8d 48 ff             	lea    -0x1(%eax),%ecx
ab50bc:	05 2b 01 00 00       	add    $0x12b,%eax
ab50c1:	99                   	cltd
ab50c2:	f7 fe                	idiv   %esi
ab50c4:	6a 64                	push   $0x64
ab50c6:	8b f0                	mov    %eax,%esi
ab50c8:	8b c1                	mov    %ecx,%eax
ab50ca:	99                   	cltd
ab50cb:	5f                   	pop    %edi
ab50cc:	f7 ff                	idiv   %edi
ab50ce:	5f                   	pop    %edi
ab50cf:	2b f0                	sub    %eax,%esi
ab50d1:	8b c1                	mov    %ecx,%eax
ab50d3:	99                   	cltd
ab50d4:	83 e2 03             	and    $0x3,%edx
ab50d7:	03 c2                	add    %edx,%eax
ab50d9:	c1 f8 02             	sar    $0x2,%eax
ab50dc:	83 c0 ef             	add    $0xffffffef,%eax
ab50df:	03 c6                	add    %esi,%eax
ab50e1:	5e                   	pop    %esi
ab50e2:	5d                   	pop    %ebp
ab50e3:	c3                   	ret
ab50e4:	cc                   	int3
ab50e5:	cc                   	int3
ab50e6:	cc                   	int3
ab50e7:	cc                   	int3
ab50e8:	cc                   	int3
ab50e9:	cc                   	int3
ab50ea:	cc                   	int3
ab50eb:	cc                   	int3
ab50ec:	cc                   	int3
ab50ed:	cc                   	int3
ab50ee:	cc                   	int3
ab50ef:	cc                   	int3
ab50f0:	cc                   	int3
ab50f1:	cc                   	int3
ab50f2:	8b ff                	mov    %edi,%edi
ab50f4:	55                   	push   %ebp
ab50f5:	8b ec                	mov    %esp,%ebp
ab50f7:	51                   	push   %ecx
ab50f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab50fb:	8b c1                	mov    %ecx,%eax
ab50fd:	53                   	push   %ebx
ab50fe:	56                   	push   %esi
ab50ff:	57                   	push   %edi
ab5100:	83 e8 01             	sub    $0x1,%eax
ab5103:	6a 00                	push   $0x0
ab5105:	5a                   	pop    %edx
ab5106:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab5109:	8b 45 0c             	mov    0xc(%ebp),%eax
ab510c:	8b d8                	mov    %eax,%ebx
ab510e:	1b da                	sbb    %edx,%ebx
ab5110:	81 c1 2b 01 00 00    	add    $0x12b,%ecx
ab5116:	52                   	push   %edx
ab5117:	68 90 01 00 00       	push   $0x190
ab511c:	13 c2                	adc    %edx,%eax
ab511e:	50                   	push   %eax
ab511f:	51                   	push   %ecx
ab5120:	e8 a1 5a 97 ff       	call   0x42abc6
ab5125:	6a 00                	push   $0x0
ab5127:	6a 64                	push   $0x64
ab5129:	53                   	push   %ebx
ab512a:	ff 75 fc             	push   -0x4(%ebp)
ab512d:	8b f0                	mov    %eax,%esi
ab512f:	8b fa                	mov    %edx,%edi
ab5131:	e8 90 5a 97 ff       	call   0x42abc6