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
ab5136:	6a 00                	push   $0x0
ab5138:	6a 04                	push   $0x4
ab513a:	53                   	push   %ebx
ab513b:	ff 75 fc             	push   -0x4(%ebp)
ab513e:	2b f0                	sub    %eax,%esi
ab5140:	1b fa                	sbb    %edx,%edi
ab5142:	e8 7f 5a 97 ff       	call   0x42abc6
ab5147:	03 c6                	add    %esi,%eax
ab5149:	13 d7                	adc    %edi,%edx
ab514b:	83 e8 11             	sub    $0x11,%eax
ab514e:	5f                   	pop    %edi
ab514f:	5e                   	pop    %esi
ab5150:	83 da 00             	sbb    $0x0,%edx
ab5153:	5b                   	pop    %ebx
ab5154:	8b e5                	mov    %ebp,%esp
ab5156:	5d                   	pop    %ebp
ab5157:	c3                   	ret
ab5158:	cc                   	int3
ab5159:	cc                   	int3
ab515a:	cc                   	int3
ab515b:	cc                   	int3
ab515c:	cc                   	int3
ab515d:	cc                   	int3
ab515e:	cc                   	int3
ab515f:	cc                   	int3
ab5160:	cc                   	int3
ab5161:	cc                   	int3
ab5162:	cc                   	int3
ab5163:	cc                   	int3
ab5164:	cc                   	int3
ab5165:	cc                   	int3
ab5166:	cc                   	int3
ab5167:	cc                   	int3
ab5168:	cc                   	int3
ab5169:	cc                   	int3
ab516a:	cc                   	int3
ab516b:	cc                   	int3
ab516c:	cc                   	int3
ab516d:	cc                   	int3
ab516e:	cc                   	int3
ab516f:	cc                   	int3
ab5170:	cc                   	int3
ab5171:	8b ff                	mov    %edi,%edi
ab5173:	55                   	push   %ebp
ab5174:	8b ec                	mov    %esp,%ebp
ab5176:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab5179:	8b c1                	mov    %ecx,%eax
ab517b:	25 03 00 00 80       	and    $0x80000003,%eax
ab5180:	79 05                	jns    0xab5187
ab5182:	48                   	dec    %eax
ab5183:	83 c8 fc             	or     $0xfffffffc,%eax
ab5186:	40                   	inc    %eax
ab5187:	75 12                	jne    0xab519b
ab5189:	56                   	push   %esi
ab518a:	6a 64                	push   $0x64
ab518c:	8b c1                	mov    %ecx,%eax
ab518e:	5e                   	pop    %esi
ab518f:	99                   	cltd
ab5190:	f7 fe                	idiv   %esi
ab5192:	5e                   	pop    %esi
ab5193:	85 d2                	test   %edx,%edx
ab5195:	74 04                	je     0xab519b
ab5197:	b0 01                	mov    $0x1,%al
ab5199:	5d                   	pop    %ebp
ab519a:	c3                   	ret
ab519b:	8d 81 6c 07 00 00    	lea    0x76c(%ecx),%eax
ab51a1:	b9 90 01 00 00       	mov    $0x190,%ecx
ab51a6:	99                   	cltd
ab51a7:	f7 f9                	idiv   %ecx
ab51a9:	f7 da                	neg    %edx
ab51ab:	1a d2                	sbb    %dl,%dl
ab51ad:	8d 42 01             	lea    0x1(%edx),%eax
ab51b0:	5d                   	pop    %ebp
ab51b1:	c3                   	ret
ab51b2:	cc                   	int3
ab51b3:	cc                   	int3
ab51b4:	cc                   	int3
ab51b5:	cc                   	int3
ab51b6:	cc                   	int3
ab51b7:	cc                   	int3
ab51b8:	cc                   	int3
ab51b9:	cc                   	int3
ab51ba:	cc                   	int3
ab51bb:	cc                   	int3
ab51bc:	cc                   	int3
ab51bd:	cc                   	int3
ab51be:	cc                   	int3
ab51bf:	cc                   	int3
ab51c0:	cc                   	int3
ab51c1:	cc                   	int3
ab51c2:	8b ff                	mov    %edi,%edi
ab51c4:	55                   	push   %ebp
ab51c5:	8b ec                	mov    %esp,%ebp
ab51c7:	53                   	push   %ebx
ab51c8:	56                   	push   %esi
ab51c9:	8b 75 0c             	mov    0xc(%ebp),%esi
ab51cc:	33 db                	xor    %ebx,%ebx
ab51ce:	57                   	push   %edi
ab51cf:	8b 7d 08             	mov    0x8(%ebp),%edi
ab51d2:	53                   	push   %ebx
ab51d3:	6a 04                	push   $0x4
ab51d5:	56                   	push   %esi
ab51d6:	57                   	push   %edi
ab51d7:	e8 27 59 97 ff       	call   0x42ab03
ab51dc:	0b c2                	or     %edx,%eax
ab51de:	75 12                	jne    0xab51f2
ab51e0:	53                   	push   %ebx
ab51e1:	6a 64                	push   $0x64
ab51e3:	56                   	push   %esi
ab51e4:	57                   	push   %edi
ab51e5:	e8 19 59 97 ff       	call   0x42ab03
ab51ea:	0b c2                	or     %edx,%eax
ab51ec:	74 04                	je     0xab51f2
ab51ee:	b0 01                	mov    $0x1,%al
ab51f0:	eb 1b                	jmp    0xab520d
ab51f2:	53                   	push   %ebx
ab51f3:	81 c7 6c 07 00 00    	add    $0x76c,%edi
ab51f9:	68 90 01 00 00       	push   $0x190
ab51fe:	13 f3                	adc    %ebx,%esi
ab5200:	56                   	push   %esi
ab5201:	57                   	push   %edi
ab5202:	e8 fc 58 97 ff       	call   0x42ab03
ab5207:	0b c2                	or     %edx,%eax
ab5209:	74 e3                	je     0xab51ee
ab520b:	32 c0                	xor    %al,%al
ab520d:	5f                   	pop    %edi
ab520e:	5e                   	pop    %esi
ab520f:	5b                   	pop    %ebx
ab5210:	5d                   	pop    %ebp
ab5211:	c3                   	ret
ab5212:	cc                   	int3
ab5213:	cc                   	int3
ab5214:	cc                   	int3
ab5215:	cc                   	int3
ab5216:	cc                   	int3
ab5217:	cc                   	int3
ab5218:	cc                   	int3
ab5219:	cc                   	int3
ab521a:	cc                   	int3
ab521b:	cc                   	int3
ab521c:	cc                   	int3
ab521d:	cc                   	int3
ab521e:	cc                   	int3
ab521f:	cc                   	int3
ab5220:	cc                   	int3
ab5221:	cc                   	int3
ab5222:	cc                   	int3
ab5223:	cc                   	int3
ab5224:	cc                   	int3
ab5225:	cc                   	int3
ab5226:	8b ff                	mov    %edi,%edi
ab5228:	55                   	push   %ebp
ab5229:	8b ec                	mov    %esp,%ebp
ab522b:	83 ec 34             	sub    $0x34,%esp
ab522e:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
ab5233:	33 c5                	xor    %ebp,%eax
ab5235:	89 45 fc             	mov    %eax,-0x4(%ebp)
ab5238:	57                   	push   %edi
ab5239:	8b 7d 08             	mov    0x8(%ebp),%edi
ab523c:	85 ff                	test   %edi,%edi
ab523e:	75 18                	jne    0xab5258
ab5240:	e8 2a 96 98 ff       	call   0x43e86f
ab5245:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab524b:	e8 a8 a0 96 ff       	call   0x41f2f8
ab5250:	83 c8 ff             	or     $0xffffffff,%eax
ab5253:	e9 9a 00 00 00       	jmp    0xab52f2
ab5258:	53                   	push   %ebx
ab5259:	56                   	push   %esi
ab525a:	8b 77 14             	mov    0x14(%edi),%esi
ab525d:	89 75 d4             	mov    %esi,-0x2c(%ebp)
ab5260:	83 fe 45             	cmp    $0x45,%esi
ab5263:	7c 7d                	jl     0xab52e2
ab5265:	bb 8b 00 00 00       	mov    $0x8b,%ebx
ab526a:	3b f3                	cmp    %ebx,%esi
ab526c:	77 74                	ja     0xab52e2