412120:	66 8b 06             	mov    (%esi),%ax
412123:	e8 74 4f 00 00       	call   0x41709c
412128:	8b d8                	mov    %eax,%ebx
41212a:	84 db                	test   %bl,%bl
41212c:	74 28                	je     0x412156
41212e:	8d 44 24 04          	lea    0x4(%esp),%eax
412132:	50                   	push   %eax
412133:	e8 c0 c5 ff ff       	call   0x40e6f8
412138:	6a 05                	push   $0x5
41213a:	8b ce                	mov    %esi,%ecx
41213c:	8d 54 24 08          	lea    0x8(%esp),%edx
412140:	8b 44 24 04          	mov    0x4(%esp),%eax
412144:	8b 30                	mov    (%eax),%esi
412146:	ff 56 1c             	call   *0x1c(%esi)
412149:	8b 44 24 0c          	mov    0xc(%esp),%eax
41214d:	89 07                	mov    %eax,(%edi)
41214f:	8b 44 24 10          	mov    0x10(%esp),%eax
412153:	89 47 04             	mov    %eax,0x4(%edi)
412156:	8b c3                	mov    %ebx,%eax
412158:	83 c4 14             	add    $0x14,%esp
41215b:	5f                   	pop    %edi
41215c:	5e                   	pop    %esi
41215d:	5b                   	pop    %ebx
41215e:	c3                   	ret
41215f:	90                   	nop
412160:	53                   	push   %ebx
412161:	83 c4 ec             	add    $0xffffffec,%esp
412164:	8b d8                	mov    %eax,%ebx
412166:	66 8b 03             	mov    (%ebx),%ax
412169:	0f b7 d0             	movzwl %ax,%edx
41216c:	83 fa 14             	cmp    $0x14,%edx
41216f:	0f 87 93 01 00 00    	ja     0x412308
412175:	ff 24 95 7c 21 41 00 	jmp    *0x41217c(,%edx,4)
41217c:	d0 21                	shlb   $1,(%ecx)
41217e:	41                   	inc    %ecx
41217f:	00 de                	add    %bl,%dh
412181:	21 41 00             	and    %eax,0x0(%ecx)
412184:	02 22                	add    (%edx),%ah
412186:	41                   	inc    %ecx
412187:	00 0e                	add    %cl,(%esi)
412189:	22 41 00             	and    0x0(%ecx),%al
41218c:	1a 22                	sbb    (%edx),%ah
41218e:	41                   	inc    %ecx
41218f:	00 26                	add    %ah,(%esi)
412191:	22 41 00             	and    0x0(%ecx),%al
412194:	38 22                	cmp    %ah,(%edx)
412196:	41                   	inc    %ecx
412197:	00 4a 22             	add    %cl,0x22(%edx)
41219a:	41                   	inc    %ecx
41219b:	00 5c 22 41          	add    %bl,0x41(%edx,%eiz,1)
41219f:	00 f8                	add    %bh,%al
4121a1:	22 41 00             	and    0x0(%ecx),%al
4121a4:	08 23                	or     %ah,(%ebx)
4121a6:	41                   	inc    %ecx
4121a7:	00 6c 22 41          	add    %ch,0x41(%edx,%eiz,1)
4121ab:	00 e7                	add    %ah,%bh
4121ad:	22 41 00             	and    0x0(%ecx),%al
4121b0:	f8                   	clc
4121b1:	22 41 00             	and    0x0(%ecx),%al
4121b4:	08 23                	or     %ah,(%ebx)
4121b6:	41                   	inc    %ecx
4121b7:	00 08                	add    %cl,(%eax)
4121b9:	23 41 00             	and    0x0(%ecx),%eax
4121bc:	81 22 41 00 96 22    	andl   $0x22960041,(%edx)
4121c2:	41                   	inc    %ecx
4121c3:	00 ac 22 41 00 c1 22 	add    %ch,0x22c10041(%edx,%eiz,1)
4121ca:	41                   	inc    %ecx
4121cb:	00 db                	add    %bl,%bl
4121cd:	22 41 00             	and    0x0(%ecx),%al
4121d0:	33 c0                	xor    %eax,%eax
4121d2:	89 04 24             	mov    %eax,(%esp)
4121d5:	89 44 24 04          	mov    %eax,0x4(%esp)
4121d9:	e9 ef 02 00 00       	jmp    0x4124cd
4121de:	80 3d 48 d4 48 00 00 	cmpb   $0x0,0x48d448
4121e5:	74 0d                	je     0x4121f4
4121e7:	66 ba 05 00          	mov    $0x5,%dx
4121eb:	66 b8 01 00          	mov    $0x1,%ax
4121ef:	e8 30 d5 ff ff       	call   0x40f724
4121f4:	33 c0                	xor    %eax,%eax
4121f6:	89 04 24             	mov    %eax,(%esp)
4121f9:	89 44 24 04          	mov    %eax,0x4(%esp)
4121fd:	e9 cb 02 00 00       	jmp    0x4124cd
412202:	df 43 08             	filds  0x8(%ebx)
412205:	dd 1c 24             	fstpl  (%esp)
412208:	9b                   	fwait
412209:	e9 bf 02 00 00       	jmp    0x4124cd
41220e:	db 43 08             	fildl  0x8(%ebx)
412211:	dd 1c 24             	fstpl  (%esp)
412214:	9b                   	fwait
412215:	e9 b3 02 00 00       	jmp    0x4124cd
41221a:	d9 43 08             	flds   0x8(%ebx)
41221d:	dd 1c 24             	fstpl  (%esp)
412220:	9b                   	fwait
412221:	e9 a7 02 00 00       	jmp    0x4124cd
412226:	8b 43 08             	mov    0x8(%ebx),%eax
412229:	89 04 24             	mov    %eax,(%esp)
41222c:	8b 43 0c             	mov    0xc(%ebx),%eax
41222f:	89 44 24 04          	mov    %eax,0x4(%esp)
412233:	e9 95 02 00 00       	jmp    0x4124cd
412238:	df 6b 08             	fildll 0x8(%ebx)
41223b:	d8 35 d8 24 41 00    	fdivs  0x4124d8
412241:	dd 1c 24             	fstpl  (%esp)
412244:	9b                   	fwait
412245:	e9 83 02 00 00       	jmp    0x4124cd
41224a:	8b 43 08             	mov    0x8(%ebx),%eax
41224d:	89 04 24             	mov    %eax,(%esp)
412250:	8b 43 0c             	mov    0xc(%ebx),%eax
412253:	89 44 24 04          	mov    %eax,0x4(%esp)
412257:	e9 71 02 00 00       	jmp    0x4124cd
41225c:	8b c3                	mov    %ebx,%eax
41225e:	e8 3d fd ff ff       	call   0x411fa0
412263:	dd 1c 24             	fstpl  (%esp)
412266:	9b                   	fwait
412267:	e9 61 02 00 00       	jmp    0x4124cd
41226c:	0f bf 43 08          	movswl 0x8(%ebx),%eax
412270:	89 44 24 08          	mov    %eax,0x8(%esp)
412274:	db 44 24 08          	fildl  0x8(%esp)
412278:	dd 1c 24             	fstpl  (%esp)
41227b:	9b                   	fwait
41227c:	e9 4c 02 00 00       	jmp    0x4124cd
412281:	0f be 43 08          	movsbl 0x8(%ebx),%eax
412285:	89 44 24 08          	mov    %eax,0x8(%esp)
412289:	db 44 24 08          	fildl  0x8(%esp)
41228d:	dd 1c 24             	fstpl  (%esp)
412290:	9b                   	fwait
412291:	e9 37 02 00 00       	jmp    0x4124cd
412296:	33 c0                	xor    %eax,%eax
412298:	8a 43 08             	mov    0x8(%ebx),%al
41229b:	89 44 24 08          	mov    %eax,0x8(%esp)
41229f:	db 44 24 08          	fildl  0x8(%esp)
4122a3:	dd 1c 24             	fstpl  (%esp)
4122a6:	9b                   	fwait
4122a7:	e9 21 02 00 00       	jmp    0x4124cd
4122ac:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
4122b0:	89 44 24 08          	mov    %eax,0x8(%esp)
4122b4:	db 44 24 08          	fildl  0x8(%esp)
4122b8:	dd 1c 24             	fstpl  (%esp)
4122bb:	9b                   	fwait
4122bc:	e9 0c 02 00 00       	jmp    0x4124cd
4122c1:	8b 43 08             	mov    0x8(%ebx),%eax
4122c4:	89 44 24 0c          	mov    %eax,0xc(%esp)
4122c8:	33 c0                	xor    %eax,%eax
4122ca:	89 44 24 10          	mov    %eax,0x10(%esp)
4122ce:	df 6c 24 0c          	fildll 0xc(%esp)
4122d2:	dd 1c 24             	fstpl  (%esp)
4122d5:	9b                   	fwait
4122d6:	e9 f2 01 00 00       	jmp    0x4124cd
4122db:	df 6b 08             	fildll 0x8(%ebx)
4122de:	dd 1c 24             	fstpl  (%esp)
4122e1:	9b                   	fwait
4122e2:	e9 e6 01 00 00       	jmp    0x4124cd
4122e7:	8b 43 08             	mov    0x8(%ebx),%eax
4122ea:	e8 71 fe ff ff       	call   0x412160
4122ef:	dd 1c 24             	fstpl  (%esp)
4122f2:	9b                   	fwait
4122f3:	e9 d5 01 00 00       	jmp    0x4124cd
4122f8:	8b c3                	mov    %ebx,%eax
4122fa:	e8 65 fd ff ff       	call   0x412064
4122ff:	dd 1c 24             	fstpl  (%esp)
412302:	9b                   	fwait
412303:	e9 c5 01 00 00       	jmp    0x4124cd
412308:	8b d0                	mov    %eax,%edx
41230a:	66 81 ea 00 01       	sub    $0x100,%dx
41230f:	74 07                	je     0x412318
412311:	66 ff ca             	dec    %dx
412314:	74 12                	je     0x412328
412316:	eb 20                	jmp    0x412338
412318:	8b c3                	mov    %ebx,%eax
41231a:	e8 81 fc ff ff       	call   0x411fa0
41231f:	dd 1c 24             	fstpl  (%esp)
412322:	9b                   	fwait
412323:	e9 a5 01 00 00       	jmp    0x4124cd
412328:	8b c3                	mov    %ebx,%eax
41232a:	e8 81 fd ff ff       	call   0x4120b0
41232f:	dd 1c 24             	fstpl  (%esp)
412332:	9b                   	fwait
412333:	e9 95 01 00 00       	jmp    0x4124cd
412338:	f6 c4 40             	test   $0x40,%ah
41233b:	0f 84 74 01 00 00    	je     0x4124b5
412341:	0f b7 c0             	movzwl %ax,%eax
412344:	25 ff bf ff ff       	and    $0xffffbfff,%eax
412349:	83 f8 14             	cmp    $0x14,%eax
41234c:	0f 87 56 01 00 00    	ja     0x4124a8
412352:	ff 24 85 59 23 41 00 	jmp    *0x412359(,%eax,4)
412359:	a8 24                	test   $0x24,%al
41235b:	41                   	inc    %ecx
41235c:	00 a8 24 41 00 ad    	add    %ch,-0x52ffbedc(%eax)
412362:	23 41 00             	and    0x0(%ecx),%eax
412365:	bb 23 41 00 c9       	mov    $0xc9004123,%ebx
41236a:	23 41 00             	and    0x0(%ecx),%eax
41236d:	d7                   	xlat   %ds:(%ebx)
41236e:	23 41 00             	and    0x0(%ecx),%eax
412371:	eb 23                	jmp    0x412396
412373:	41                   	inc    %ecx
412374:	00 ff                	add    %bh,%bh
412376:	23 41 00             	and    0x0(%ecx),%eax
412379:	13 24 41             	adc    (%ecx,%eax,2),%esp
41237c:	00 a8 24 41 00 a8    	add    %ch,-0x57ffbedc(%eax)
412382:	24 41                	and    $0x41,%al
412384:	00 23                	add    %ah,(%ebx)
412386:	24 41                	and    $0x41,%al
412388:	00 9a 24 41 00 a8    	add    %bl,-0x57ffbedc(%edx)
41238e:	24 41                	and    $0x41,%al
412390:	00 a8 24 41 00 a8    	add    %ch,-0x57ffbedc(%eax)
412396:	24 41                	and    $0x41,%al
412398:	00 3a                	add    %bh,(%edx)
41239a:	24 41                	and    $0x41,%al
41239c:	00 4e 24             	add    %cl,0x24(%esi)
41239f:	41                   	inc    %ecx
4123a0:	00 62 24             	add    %ah,0x24(%edx)
4123a3:	41                   	inc    %ecx
4123a4:	00 76 24             	add    %dh,0x24(%esi)
4123a7:	41                   	inc    %ecx
4123a8:	00 8f 24 41 00 8b    	add    %cl,-0x74ffbedc(%edi)
4123ae:	43                   	inc    %ebx
4123af:	08 df                	or     %bl,%bh
4123b1:	00 dd                	add    %bl,%ch
4123b3:	1c 24                	sbb    $0x24,%al
4123b5:	9b                   	fwait
4123b6:	e9 12 01 00 00       	jmp    0x4124cd
4123bb:	8b 43 08             	mov    0x8(%ebx),%eax
4123be:	db 00                	fildl  (%eax)
4123c0:	dd 1c 24             	fstpl  (%esp)
4123c3:	9b                   	fwait
4123c4:	e9 04 01 00 00       	jmp    0x4124cd
4123c9:	8b 43 08             	mov    0x8(%ebx),%eax
4123cc:	d9 00                	flds   (%eax)
4123ce:	dd 1c 24             	fstpl  (%esp)
4123d1:	9b                   	fwait
4123d2:	e9 f6 00 00 00       	jmp    0x4124cd
4123d7:	8b 43 08             	mov    0x8(%ebx),%eax
4123da:	8b 10                	mov    (%eax),%edx
4123dc:	89 14 24             	mov    %edx,(%esp)
4123df:	8b 50 04             	mov    0x4(%eax),%edx
4123e2:	89 54 24 04          	mov    %edx,0x4(%esp)
4123e6:	e9 e2 00 00 00       	jmp    0x4124cd
4123eb:	8b 43 08             	mov    0x8(%ebx),%eax
4123ee:	df 28                	fildll (%eax)
4123f0:	d8 35 d8 24 41 00    	fdivs  0x4124d8
4123f6:	dd 1c 24             	fstpl  (%esp)
4123f9:	9b                   	fwait
4123fa:	e9 ce 00 00 00       	jmp    0x4124cd
4123ff:	8b 43 08             	mov    0x8(%ebx),%eax
412402:	8b 10                	mov    (%eax),%edx
412404:	89 14 24             	mov    %edx,(%esp)
412407:	8b 50 04             	mov    0x4(%eax),%edx
41240a:	89 54 24 04          	mov    %edx,0x4(%esp)
41240e:	e9 ba 00 00 00       	jmp    0x4124cd
412413:	8b c3                	mov    %ebx,%eax
412415:	e8 86 fb ff ff       	call   0x411fa0
41241a:	dd 1c 24             	fstpl  (%esp)
41241d:	9b                   	fwait
41241e:	e9 aa 00 00 00       	jmp    0x4124cd
412423:	8b 43 08             	mov    0x8(%ebx),%eax
412426:	0f bf 00             	movswl (%eax),%eax
412429:	89 44 24 08          	mov    %eax,0x8(%esp)
41242d:	db 44 24 08          	fildl  0x8(%esp)
412431:	dd 1c 24             	fstpl  (%esp)
412434:	9b                   	fwait
412435:	e9 93 00 00 00       	jmp    0x4124cd
41243a:	8b 43 08             	mov    0x8(%ebx),%eax
41243d:	0f be 00             	movsbl (%eax),%eax
412440:	89 44 24 08          	mov    %eax,0x8(%esp)
412444:	db 44 24 08          	fildl  0x8(%esp)
412448:	dd 1c 24             	fstpl  (%esp)
41244b:	9b                   	fwait
41244c:	eb 7f                	jmp    0x4124cd
41244e:	8b 43 08             	mov    0x8(%ebx),%eax
412451:	0f b6 00             	movzbl (%eax),%eax
412454:	89 44 24 08          	mov    %eax,0x8(%esp)
412458:	db 44 24 08          	fildl  0x8(%esp)
41245c:	dd 1c 24             	fstpl  (%esp)
41245f:	9b                   	fwait
412460:	eb 6b                	jmp    0x4124cd
412462:	8b 43 08             	mov    0x8(%ebx),%eax
412465:	0f b7 00             	movzwl (%eax),%eax
412468:	89 44 24 08          	mov    %eax,0x8(%esp)
41246c:	db 44 24 08          	fildl  0x8(%esp)
412470:	dd 1c 24             	fstpl  (%esp)
412473:	9b                   	fwait
412474:	eb 57                	jmp    0x4124cd
412476:	8b 43 08             	mov    0x8(%ebx),%eax
412479:	8b 00                	mov    (%eax),%eax
41247b:	89 44 24 0c          	mov    %eax,0xc(%esp)
41247f:	33 c0                	xor    %eax,%eax
412481:	89 44 24 10          	mov    %eax,0x10(%esp)
412485:	df 6c 24 0c          	fildll 0xc(%esp)
412489:	dd 1c 24             	fstpl  (%esp)
41248c:	9b                   	fwait
41248d:	eb 3e                	jmp    0x4124cd
41248f:	8b 43 08             	mov    0x8(%ebx),%eax
412492:	df 28                	fildll (%eax)
412494:	dd 1c 24             	fstpl  (%esp)
412497:	9b                   	fwait
412498:	eb 33                	jmp    0x4124cd
41249a:	8b 43 08             	mov    0x8(%ebx),%eax
41249d:	e8 be fc ff ff       	call   0x412160
4124a2:	dd 1c 24             	fstpl  (%esp)
4124a5:	9b                   	fwait
4124a6:	eb 25                	jmp    0x4124cd
4124a8:	8b c3                	mov    %ebx,%eax
4124aa:	e8 b5 fb ff ff       	call   0x412064
4124af:	dd 1c 24             	fstpl  (%esp)
4124b2:	9b                   	fwait
4124b3:	eb 18                	jmp    0x4124cd
4124b5:	8b d4                	mov    %esp,%edx
4124b7:	8b c3                	mov    %ebx,%eax
4124b9:	e8 56 fc ff ff       	call   0x412114
4124be:	84 c0                	test   %al,%al
4124c0:	75 0b                	jne    0x4124cd
4124c2:	8b c3                	mov    %ebx,%eax
4124c4:	e8 9b fb ff ff       	call   0x412064
4124c9:	dd 1c 24             	fstpl  (%esp)
4124cc:	9b dd 04 24          	fldl   (%esp)
4124d0:	83 c4 14             	add    $0x14,%esp
4124d3:	5b                   	pop    %ebx
4124d4:	c3                   	ret
4124d5:	00 00                	add    %al,(%eax)
4124d7:	00 00                	add    %al,(%eax)
4124d9:	40                   	inc    %eax
4124da:	1c 46                	sbb    $0x46,%al
4124dc:	53                   	push   %ebx
4124dd:	83 c4 f4             	add    $0xfffffff4,%esp
4124e0:	8b d8                	mov    %eax,%ebx
4124e2:	8b c3                	mov    %ebx,%eax
4124e4:	e8 77 fc ff ff       	call   0x412160
4124e9:	db 3c 24             	fstpt  (%esp)
4124ec:	9b db 2c 24          	fldt   (%esp)
4124f0:	83 c4 0c             	add    $0xc,%esp
4124f3:	5b                   	pop    %ebx
4124f4:	c3                   	ret
4124f5:	8d 40 00             	lea    0x0(%eax),%eax
4124f8:	55                   	push   %ebp
4124f9:	8b ec                	mov    %esp,%ebp
4124fb:	83 c4 ec             	add    $0xffffffec,%esp
4124fe:	53                   	push   %ebx
4124ff:	56                   	push   %esi
412500:	57                   	push   %edi
412501:	89 45 fc             	mov    %eax,-0x4(%ebp)
412504:	8b 45 fc             	mov    -0x4(%ebp),%eax
412507:	0f b7 00             	movzwl (%eax),%eax
41250a:	83 f8 14             	cmp    $0x14,%eax
41250d:	0f 87 26 01 00 00    	ja     0x412639
412513:	ff 24 85 1a 25 41 00 	jmp    *0x41251a(,%eax,4)
41251a:	6e                   	outsb  %ds:(%esi),(%dx)
41251b:	25 41 00 78 25       	and    $0x25780041,%eax
412520:	41                   	inc    %ecx
412521:	00 98 25 41 00 a7    	add    %bl,-0x58ffbedb(%eax)
412527:	25 41 00 b6 25       	and    $0x25b60041,%eax
41252c:	41                   	inc    %ecx