41d085:	c2 14 00             	ret    $0x14
41d088:	55                   	push   %ebp
41d089:	8b ec                	mov    %esp,%ebp
41d08b:	8b 4d 24             	mov    0x24(%ebp),%ecx
41d08e:	83 f9 ff             	cmp    $0xffffffff,%ecx
41d091:	75 05                	jne    0x41d098
41d093:	b9 00 01 00 00       	mov    $0x100,%ecx
41d098:	8b 45 28             	mov    0x28(%ebp),%eax
41d09b:	40                   	inc    %eax
41d09c:	f7 d8                	neg    %eax
41d09e:	53                   	push   %ebx
41d09f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41d0a2:	1b c0                	sbb    %eax,%eax
41d0a4:	23 45 28             	and    0x28(%ebp),%eax
41d0a7:	56                   	push   %esi
41d0a8:	57                   	push   %edi
41d0a9:	ba 96 00 00 00       	mov    $0x96,%edx
41d0ae:	83 fb ff             	cmp    $0xffffffff,%ebx
41d0b1:	0f 84 af 00 00 00    	je     0x41d166
41d0b7:	8b 7d 20             	mov    0x20(%ebp),%edi
41d0ba:	83 ff ff             	cmp    $0xffffffff,%edi
41d0bd:	0f 84 aa 00 00 00    	je     0x41d16d
41d0c3:	6a 01                	push   $0x1
41d0c5:	51                   	push   %ecx
41d0c6:	ff 75 10             	push   0x10(%ebp)
41d0c9:	57                   	push   %edi
41d0ca:	53                   	push   %ebx
41d0cb:	ff 75 18             	push   0x18(%ebp)
41d0ce:	ff 75 14             	push   0x14(%ebp)
41d0d1:	51                   	push   %ecx
41d0d2:	68 00 dc 49 00       	push   $0x49dc00
41d0d7:	68 78 18 4b 00       	push   $0x4b1878
41d0dc:	50                   	push   %eax
41d0dd:	ff 75 08             	push   0x8(%ebp)
41d0e0:	e8 97 00 00 00       	call   0x41d17c
41d0e5:	8b 75 0c             	mov    0xc(%ebp),%esi
41d0e8:	89 06                	mov    %eax,(%esi)
41d0ea:	85 c0                	test   %eax,%eax
41d0ec:	0f 84 82 00 00 00    	je     0x41d174
41d0f2:	8b 45 14             	mov    0x14(%ebp),%eax
41d0f5:	83 4e 4c ff          	orl    $0xffffffff,0x4c(%esi)
41d0f9:	66 89 86 88 00 00 00 	mov    %ax,0x88(%esi)
41d100:	8b 45 18             	mov    0x18(%ebp),%eax
41d103:	68 10 09 00 00       	push   $0x910
41d108:	66 89 86 8a 00 00 00 	mov    %ax,0x8a(%esi)
41d10f:	66 89 9e 8c 00 00 00 	mov    %bx,0x8c(%esi)
41d116:	66 89 be 8e 00 00 00 	mov    %di,0x8e(%esi)
41d11d:	e8 c8 23 00 00       	call   0x41f4ea
41d122:	8b 55 08             	mov    0x8(%ebp),%edx
41d125:	33 ff                	xor    %edi,%edi
41d127:	89 78 0c             	mov    %edi,0xc(%eax)
41d12a:	89 78 04             	mov    %edi,0x4(%eax)
41d12d:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
41d133:	59                   	pop    %ecx
41d134:	89 70 08             	mov    %esi,0x8(%eax)
41d137:	89 38                	mov    %edi,(%eax)
41d139:	8b 8a c8 01 00 00    	mov    0x1c8(%edx),%ecx
41d13f:	85 c9                	test   %ecx,%ecx
41d141:	74 1b                	je     0x41d15e
41d143:	39 39                	cmp    %edi,(%ecx)
41d145:	75 31                	jne    0x41d178
41d147:	89 01                	mov    %eax,(%ecx)
41d149:	b9 00 03 00 00       	mov    $0x300,%ecx
41d14e:	66 09 8e 86 00 00 00 	or     %cx,0x86(%esi)
41d155:	b0 01                	mov    $0x1,%al
41d157:	5f                   	pop    %edi
41d158:	5e                   	pop    %esi
41d159:	5b                   	pop    %ebx
41d15a:	5d                   	pop    %ebp
41d15b:	c2 24 00             	ret    $0x24
41d15e:	89 82 c8 01 00 00    	mov    %eax,0x1c8(%edx)
41d164:	eb e3                	jmp    0x41d149
41d166:	8b da                	mov    %edx,%ebx
41d168:	e9 4a ff ff ff       	jmp    0x41d0b7
41d16d:	8b fa                	mov    %edx,%edi
41d16f:	e9 4f ff ff ff       	jmp    0x41d0c3
41d174:	32 c0                	xor    %al,%al
41d176:	eb df                	jmp    0x41d157
41d178:	8b 09                	mov    (%ecx),%ecx
41d17a:	eb c7                	jmp    0x41d143
41d17c:	55                   	push   %ebp
41d17d:	8b ec                	mov    %esp,%ebp
41d17f:	8b 4d 18             	mov    0x18(%ebp),%ecx
41d182:	8b 45 0c             	mov    0xc(%ebp),%eax
41d185:	81 c9 00 00 00 50    	or     $0x50000000,%ecx
41d18b:	a9 00 00 08 00       	test   $0x80000,%eax
41d190:	75 61                	jne    0x41d1f3
41d192:	53                   	push   %ebx
41d193:	56                   	push   %esi
41d194:	57                   	push   %edi
41d195:	8b 7d 08             	mov    0x8(%ebp),%edi
41d198:	33 db                	xor    %ebx,%ebx
41d19a:	53                   	push   %ebx
41d19b:	ff 35 7c 16 4c 00    	push   0x4c167c
41d1a1:	ff 75 2c             	push   0x2c(%ebp)
41d1a4:	ff 37                	push   (%edi)
41d1a6:	ff 75 28             	push   0x28(%ebp)
41d1a9:	ff 75 24             	push   0x24(%ebp)
41d1ac:	ff 75 20             	push   0x20(%ebp)
41d1af:	ff 75 1c             	push   0x1c(%ebp)
41d1b2:	51                   	push   %ecx
41d1b3:	ff 75 14             	push   0x14(%ebp)
41d1b6:	ff 75 10             	push   0x10(%ebp)
41d1b9:	50                   	push   %eax
41d1ba:	ff 15 08 d7 48 00    	call   *0x48d708
41d1c0:	8b f0                	mov    %eax,%esi
41d1c2:	85 f6                	test   %esi,%esi
41d1c4:	74 24                	je     0x41d1ea
41d1c6:	38 5d 34             	cmp    %bl,0x34(%ebp)
41d1c9:	74 13                	je     0x41d1de
41d1cb:	53                   	push   %ebx
41d1cc:	6a 11                	push   $0x11
41d1ce:	ff 15 1c d1 48 00    	call   *0x48d11c
41d1d4:	50                   	push   %eax
41d1d5:	6a 30                	push   $0x30
41d1d7:	56                   	push   %esi
41d1d8:	ff 15 70 d6 48 00    	call   *0x48d670
41d1de:	39 9f 8c 01 00 00    	cmp    %ebx,0x18c(%edi)
41d1e4:	0f 8d bb 0f 06 00    	jge    0x47e1a5
41d1ea:	5f                   	pop    %edi
41d1eb:	8b c6                	mov    %esi,%eax
41d1ed:	5e                   	pop    %esi
41d1ee:	5b                   	pop    %ebx
41d1ef:	5d                   	pop    %ebp
41d1f0:	c2 30 00             	ret    $0x30
41d1f3:	25 ff ff f7 ff       	and    $0xfff7ffff,%eax
41d1f8:	eb 98                	jmp    0x41d192
41d1fa:	55                   	push   %ebp
41d1fb:	8b ec                	mov    %esp,%ebp
41d1fd:	53                   	push   %ebx
41d1fe:	56                   	push   %esi
41d1ff:	8b f1                	mov    %ecx,%esi
41d201:	6a 04                	push   $0x4
41d203:	8b 46 0c             	mov    0xc(%esi),%eax
41d206:	5b                   	pop    %ebx
41d207:	39 46 08             	cmp    %eax,0x8(%esi)
41d20a:	74 2a                	je     0x41d236
41d20c:	53                   	push   %ebx
41d20d:	e8 d8 22 00 00       	call   0x41f4ea
41d212:	8b d0                	mov    %eax,%edx
41d214:	59                   	pop    %ecx
41d215:	85 d2                	test   %edx,%edx
41d217:	0f 84 f3 0f 06 00    	je     0x47e210
41d21d:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d220:	8b 09                	mov    (%ecx),%ecx
41d222:	89 0a                	mov    %ecx,(%edx)
41d224:	8b 4e 08             	mov    0x8(%esi),%ecx
41d227:	8b 46 04             	mov    0x4(%esi),%eax
41d22a:	89 14 88             	mov    %edx,(%eax,%ecx,4)
41d22d:	ff 46 08             	incl   0x8(%esi)
41d230:	5e                   	pop    %esi
41d231:	5b                   	pop    %ebx
41d232:	5d                   	pop    %ebp
41d233:	c2 04 00             	ret    $0x4
41d236:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41d239:	6a 08                	push   $0x8
41d23b:	58                   	pop    %eax
41d23c:	3b c8                	cmp    %eax,%ecx
41d23e:	73 28                	jae    0x41d268
41d240:	33 c9                	xor    %ecx,%ecx
41d242:	89 46 0c             	mov    %eax,0xc(%esi)
41d245:	f7 e3                	mul    %ebx
41d247:	0f 90 c1             	seto   %cl
41d24a:	57                   	push   %edi
41d24b:	f7 d9                	neg    %ecx
41d24d:	0b c8                	or     %eax,%ecx
41d24f:	51                   	push   %ecx
41d250:	e8 95 22 00 00       	call   0x41f4ea
41d255:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41d259:	59                   	pop    %ecx
41d25a:	8b f8                	mov    %eax,%edi
41d25c:	0f 85 86 0f 06 00    	jne    0x47e1e8
41d262:	89 7e 04             	mov    %edi,0x4(%esi)
41d265:	5f                   	pop    %edi
41d266:	eb a4                	jmp    0x41d20c
41d268:	8b c1                	mov    %ecx,%eax
41d26a:	eb d4                	jmp    0x41d240
41d26c:	55                   	push   %ebp
41d26d:	8b ec                	mov    %esp,%ebp
41d26f:	51                   	push   %ecx
41d270:	51                   	push   %ecx
41d271:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d274:	50                   	push   %eax
41d275:	6a 04                	push   $0x4
41d277:	68 20 ec 4a 00       	push   $0x4aec20
41d27c:	ba 44 ec 4a 00       	mov    $0x4aec44,%edx
41d281:	b9 01 00 00 80       	mov    $0x80000001,%ecx
41d286:	e8 0d 00 00 00       	call   0x41d298
41d28b:	83 c4 0c             	add    $0xc,%esp
41d28e:	66 83 7d f8 31       	cmpw   $0x31,-0x8(%ebp)
41d293:	0f 94 c0             	sete   %al
41d296:	c9                   	leave
41d297:	c3                   	ret
41d298:	55                   	push   %ebp
41d299:	8b ec                	mov    %esp,%ebp
41d29b:	51                   	push   %ecx
41d29c:	51                   	push   %ecx
41d29d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41d2a1:	53                   	push   %ebx
41d2a2:	56                   	push   %esi
41d2a3:	74 70                	je     0x41d315
41d2a5:	8b 75 10             	mov    0x10(%ebp),%esi
41d2a8:	85 f6                	test   %esi,%esi
41d2aa:	74 69                	je     0x41d315
41d2ac:	33 c0                	xor    %eax,%eax
41d2ae:	66 89 06             	mov    %ax,(%esi)
41d2b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d2b4:	50                   	push   %eax
41d2b5:	6a 01                	push   $0x1
41d2b7:	33 db                	xor    %ebx,%ebx
41d2b9:	53                   	push   %ebx
41d2ba:	52                   	push   %edx
41d2bb:	51                   	push   %ecx
41d2bc:	ff 15 20 d0 48 00    	call   *0x48d020
41d2c2:	85 c0                	test   %eax,%eax
41d2c4:	75 4f                	jne    0x41d315
41d2c6:	8b 45 0c             	mov    0xc(%ebp),%eax
41d2c9:	57                   	push   %edi
41d2ca:	8d 3c 00             	lea    (%eax,%eax,1),%edi
41d2cd:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d2d0:	50                   	push   %eax
41d2d1:	56                   	push   %esi
41d2d2:	53                   	push   %ebx
41d2d3:	53                   	push   %ebx
41d2d4:	ff 75 08             	push   0x8(%ebp)
41d2d7:	89 7d fc             	mov    %edi,-0x4(%ebp)
41d2da:	ff 75 f8             	push   -0x8(%ebp)
41d2dd:	ff 15 28 d0 48 00    	call   *0x48d028
41d2e3:	85 c0                	test   %eax,%eax
41d2e5:	75 15                	jne    0x41d2fc
41d2e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d2ea:	d1 e8                	shr    $1,%eax
41d2ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d2ef:	3b 45 0c             	cmp    0xc(%ebp),%eax
41d2f2:	73 18                	jae    0x41d30c
41d2f4:	33 c9                	xor    %ecx,%ecx
41d2f6:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
41d2fa:	b3 01                	mov    $0x1,%bl
41d2fc:	ff 75 f8             	push   -0x8(%ebp)
41d2ff:	ff 15 24 d0 48 00    	call   *0x48d024
41d305:	8a c3                	mov    %bl,%al
41d307:	5f                   	pop    %edi
41d308:	5e                   	pop    %esi
41d309:	5b                   	pop    %ebx
41d30a:	c9                   	leave
41d30b:	c3                   	ret
41d30c:	33 c0                	xor    %eax,%eax
41d30e:	66 89 44 37 fe       	mov    %ax,-0x2(%edi,%esi,1)
41d313:	eb e5                	jmp    0x41d2fa
41d315:	32 c0                	xor    %al,%al
41d317:	eb ef                	jmp    0x41d308
41d319:	83 79 04 02          	cmpl   $0x2,0x4(%ecx)
41d31d:	75 03                	jne    0x41d322
41d31f:	8b 01                	mov    (%ecx),%eax
41d321:	c3                   	ret
41d322:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
41d326:	8b 41 08             	mov    0x8(%ecx),%eax
41d329:	8b 40 10             	mov    0x10(%eax),%eax
41d32c:	74 f3                	je     0x41d321
41d32e:	8b 40 10             	mov    0x10(%eax),%eax
41d331:	c3                   	ret
41d332:	55                   	push   %ebp
41d333:	8b ec                	mov    %esp,%ebp
41d335:	51                   	push   %ecx
41d336:	51                   	push   %ecx
41d337:	56                   	push   %esi
41d338:	8b f1                	mov    %ecx,%esi
41d33a:	83 7e 0c 03          	cmpl   $0x3,0xc(%esi)
41d33e:	74 1b                	je     0x41d35b
41d340:	e8 8b 59 ff ff       	call   0x412cd0
41d345:	dd 5d f8             	fstpl  -0x8(%ebp)
41d348:	8b ce                	mov    %esi,%ecx
41d34a:	e8 d1 58 ff ff       	call   0x412c20
41d34f:	dd 45 f8             	fldl   -0x8(%ebp)
41d352:	dd 1e                	fstpl  (%esi)
41d354:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
41d35b:	5e                   	pop    %esi
41d35c:	c9                   	leave
41d35d:	c3                   	ret
41d35e:	55                   	push   %ebp
41d35f:	8b ec                	mov    %esp,%ebp
41d361:	ff 75 0c             	push   0xc(%ebp)
41d364:	8b 45 08             	mov    0x8(%ebp),%eax
41d367:	ff 70 04             	push   0x4(%eax)
41d36a:	ff 30                	push   (%eax)
41d36c:	ff 71 04             	push   0x4(%ecx)
41d36f:	ff 31                	push   (%ecx)
41d371:	e8 04 00 00 00       	call   0x41d37a
41d376:	5d                   	pop    %ebp
41d377:	c2 08 00             	ret    $0x8
41d37a:	55                   	push   %ebp
41d37b:	8b ec                	mov    %esp,%ebp
41d37d:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
41d381:	57                   	push   %edi
41d382:	0f 84 fb 6f 05 00    	je     0x474383
41d388:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
41d38c:	ff 75 14             	push   0x14(%ebp)
41d38f:	ff 75 10             	push   0x10(%ebp)
41d392:	ff 75 0c             	push   0xc(%ebp)
41d395:	ff 75 08             	push   0x8(%ebp)
41d398:	6a 01                	push   $0x1
41d39a:	75 17                	jne    0x41d3b3
41d39c:	68 00 04 00 00       	push   $0x400
41d3a1:	ff 15 44 d2 48 00    	call   *0x48d244
41d3a7:	85 c0                	test   %eax,%eax
41d3a9:	74 0f                	je     0x41d3ba
41d3ab:	83 c0 fe             	add    $0xfffffffe,%eax
41d3ae:	5f                   	pop    %edi
41d3af:	5d                   	pop    %ebp
41d3b0:	c2 14 00             	ret    $0x14
41d3b3:	68 09 04 00 00       	push   $0x409
41d3b8:	eb e7                	jmp    0x41d3a1
41d3ba:	33 c0                	xor    %eax,%eax
41d3bc:	eb f0                	jmp    0x41d3ae
41d3be:	55                   	push   %ebp
41d3bf:	8b ec                	mov    %esp,%ebp
41d3c1:	56                   	push   %esi
41d3c2:	8b f1                	mov    %ecx,%esi
41d3c4:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41d3c8:	75 12                	jne    0x41d3dc
41d3ca:	ff 75 08             	push   0x8(%ebp)
41d3cd:	8b 0e                	mov    (%esi),%ecx
41d3cf:	e8 da 08 ff ff       	call   0x40dcae
41d3d4:	ff 46 04             	incl   0x4(%esi)
41d3d7:	5e                   	pop    %esi
41d3d8:	5d                   	pop    %ebp
41d3d9:	c2 04 00             	ret    $0x4
41d3dc:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
41d3e0:	75 29                	jne    0x41d40b
41d3e2:	57                   	push   %edi
41d3e3:	6a 18                	push   $0x18
41d3e5:	e8 00 21 00 00       	call   0x41f4ea
41d3ea:	8b f8                	mov    %eax,%edi
41d3ec:	59                   	pop    %ecx
41d3ed:	85 ff                	test   %edi,%edi
41d3ef:	74 2b                	je     0x41d41c
41d3f1:	ff 75 08             	push   0x8(%ebp)
41d3f4:	83 67 08 00          	andl   $0x0,0x8(%edi)
41d3f8:	8b cf                	mov    %edi,%ecx
41d3fa:	e8 21 43 ff ff       	call   0x411720
41d3ff:	8b 46 08             	mov    0x8(%esi),%eax
41d402:	89 47 10             	mov    %eax,0x10(%edi)
41d405:	89 7e 08             	mov    %edi,0x8(%esi)
41d408:	5f                   	pop    %edi
41d409:	eb c9                	jmp    0x41d3d4
41d40b:	ff 75 08             	push   0x8(%ebp)
41d40e:	8b 4e 08             	mov    0x8(%esi),%ecx
41d411:	e8 98 08 ff ff       	call   0x40dcae
41d416:	c6 46 0d 00          	movb   $0x0,0xd(%esi)
41d41a:	eb b8                	jmp    0x41d3d4