40fea6:	e8 4d 33 ff ff       	call   0x4031f8
40feab:	89 45 f8             	mov    %eax,-0x8(%ebp)
40feae:	e9 dc 00 00 00       	jmp    0x40ff8f
40feb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40feb6:	8b 40 08             	mov    0x8(%eax),%eax
40feb9:	dd 00                	fldl   (%eax)
40febb:	e8 04 2c ff ff       	call   0x402ac4
40fec0:	50                   	push   %eax
40fec1:	c1 f8 1f             	sar    $0x1f,%eax
40fec4:	3b c2                	cmp    %edx,%eax
40fec6:	58                   	pop    %eax
40fec7:	74 05                	je     0x40fece
40fec9:	e8 2a 33 ff ff       	call   0x4031f8
40fece:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fed1:	e9 b9 00 00 00       	jmp    0x40ff8f
40fed6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fed9:	e8 02 fb ff ff       	call   0x40f9e0
40fede:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fee1:	e9 a9 00 00 00       	jmp    0x40ff8f
40fee6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fee9:	8b 40 08             	mov    0x8(%eax),%eax
40feec:	0f bf 00             	movswl (%eax),%eax
40feef:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fef2:	e9 98 00 00 00       	jmp    0x40ff8f
40fef7:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fefa:	8b 40 08             	mov    0x8(%eax),%eax
40fefd:	0f be 00             	movsbl (%eax),%eax
40ff00:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff03:	e9 87 00 00 00       	jmp    0x40ff8f
40ff08:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff0b:	8b 40 08             	mov    0x8(%eax),%eax
40ff0e:	0f b6 00             	movzbl (%eax),%eax
40ff11:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff14:	eb 79                	jmp    0x40ff8f
40ff16:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff19:	8b 40 08             	mov    0x8(%eax),%eax
40ff1c:	0f b7 00             	movzwl (%eax),%eax
40ff1f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff22:	eb 6b                	jmp    0x40ff8f
40ff24:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff27:	8b 40 08             	mov    0x8(%eax),%eax
40ff2a:	8b 00                	mov    (%eax),%eax
40ff2c:	85 c0                	test   %eax,%eax
40ff2e:	79 05                	jns    0x40ff35
40ff30:	e8 c3 32 ff ff       	call   0x4031f8
40ff35:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff38:	eb 55                	jmp    0x40ff8f
40ff3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff3d:	8b 40 08             	mov    0x8(%eax),%eax
40ff40:	8b 50 04             	mov    0x4(%eax),%edx
40ff43:	8b 00                	mov    (%eax),%eax
40ff45:	50                   	push   %eax
40ff46:	c1 f8 1f             	sar    $0x1f,%eax
40ff49:	3b c2                	cmp    %edx,%eax
40ff4b:	58                   	pop    %eax
40ff4c:	74 05                	je     0x40ff53
40ff4e:	e8 a5 32 ff ff       	call   0x4031f8
40ff53:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff56:	eb 37                	jmp    0x40ff8f
40ff58:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff5b:	8b 40 08             	mov    0x8(%eax),%eax
40ff5e:	e8 15 fc ff ff       	call   0x40fb78
40ff63:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff66:	eb 27                	jmp    0x40ff8f
40ff68:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff6b:	e8 24 fb ff ff       	call   0x40fa94
40ff70:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff73:	eb 1a                	jmp    0x40ff8f
40ff75:	8d 55 f8             	lea    -0x8(%ebp),%edx
40ff78:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff7b:	e8 b4 fb ff ff       	call   0x40fb34
40ff80:	84 c0                	test   %al,%al
40ff82:	75 0b                	jne    0x40ff8f
40ff84:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ff87:	e8 08 fb ff ff       	call   0x40fa94
40ff8c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ff8f:	33 c0                	xor    %eax,%eax
40ff91:	5a                   	pop    %edx
40ff92:	59                   	pop    %ecx
40ff93:	59                   	pop    %ecx
40ff94:	64 89 10             	mov    %edx,%fs:(%eax)
40ff97:	eb 1e                	jmp    0x40ffb7
40ff99:	e9 02 38 ff ff       	jmp    0x4037a0
40ff9e:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ffa1:	66 8b 00             	mov    (%eax),%ax
40ffa4:	66 ba 03 00          	mov    $0x3,%dx
40ffa8:	e8 a3 ee ff ff       	call   0x40ee50
40ffad:	33 c0                	xor    %eax,%eax
40ffaf:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ffb2:	e8 51 3b ff ff       	call   0x403b08
40ffb7:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ffba:	5f                   	pop    %edi
40ffbb:	5e                   	pop    %esi
40ffbc:	5b                   	pop    %ebx
40ffbd:	59                   	pop    %ecx
40ffbe:	59                   	pop    %ecx
40ffbf:	5d                   	pop    %ebp
40ffc0:	c3                   	ret
40ffc1:	00 00                	add    %al,(%eax)
40ffc3:	00 00                	add    %al,(%eax)
40ffc5:	40                   	inc    %eax
40ffc6:	1c 46                	sbb    $0x46,%al
40ffc8:	55                   	push   %ebp
40ffc9:	8b ec                	mov    %esp,%ebp
40ffcb:	51                   	push   %ecx
40ffcc:	53                   	push   %ebx
40ffcd:	56                   	push   %esi
40ffce:	57                   	push   %edi
40ffcf:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ffd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ffd5:	66 8b 00             	mov    (%eax),%ax
40ffd8:	66 83 e8 01          	sub    $0x1,%ax
40ffdc:	72 10                	jb     0x40ffee
40ffde:	74 12                	je     0x40fff2
40ffe0:	66 83 e8 0a          	sub    $0xa,%ax
40ffe4:	74 26                	je     0x41000c
40ffe6:	66 83 e8 05          	sub    $0x5,%ax
40ffea:	74 28                	je     0x410014
40ffec:	eb 2e                	jmp    0x41001c
40ffee:	33 db                	xor    %ebx,%ebx
40fff0:	eb 7d                	jmp    0x41006f
40fff2:	80 3d 20 93 46 00 00 	cmpb   $0x0,0x469320
40fff9:	74 0d                	je     0x410008
40fffb:	66 ba 10 00          	mov    $0x10,%dx
40ffff:	66 b8 01 00          	mov    $0x1,%ax
410003:	e8 80 e9 ff ff       	call   0x40e988
410008:	33 db                	xor    %ebx,%ebx
41000a:	eb 63                	jmp    0x41006f
41000c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41000f:	8a 5b 08             	mov    0x8(%ebx),%bl
410012:	eb 5b                	jmp    0x41006f
410014:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410017:	8a 5b 08             	mov    0x8(%ebx),%bl
41001a:	eb 53                	jmp    0x41006f
41001c:	33 c0                	xor    %eax,%eax
41001e:	55                   	push   %ebp
41001f:	68 54 00 41 00       	push   $0x410054
410024:	64 ff 30             	push   %fs:(%eax)
410027:	64 89 20             	mov    %esp,%fs:(%eax)
41002a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41002d:	e8 46 fb ff ff       	call   0x40fb78
410032:	8b d8                	mov    %eax,%ebx
410034:	81 c3 80 00 00 00    	add    $0x80,%ebx
41003a:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
410040:	76 05                	jbe    0x410047
410042:	e8 b1 31 ff ff       	call   0x4031f8
410047:	83 c3 80             	add    $0xffffff80,%ebx
41004a:	33 c0                	xor    %eax,%eax
41004c:	5a                   	pop    %edx
41004d:	59                   	pop    %ecx
41004e:	59                   	pop    %ecx
41004f:	64 89 10             	mov    %edx,%fs:(%eax)
410052:	eb 1b                	jmp    0x41006f
410054:	e9 47 37 ff ff       	jmp    0x4037a0
410059:	8b 45 fc             	mov    -0x4(%ebp),%eax
41005c:	66 8b 00             	mov    (%eax),%ax
41005f:	66 ba 10 00          	mov    $0x10,%dx
410063:	e8 e8 ed ff ff       	call   0x40ee50
410068:	33 db                	xor    %ebx,%ebx
41006a:	e8 99 3a ff ff       	call   0x403b08
41006f:	8b c3                	mov    %ebx,%eax
410071:	5f                   	pop    %edi
410072:	5e                   	pop    %esi
410073:	5b                   	pop    %ebx
410074:	59                   	pop    %ecx
410075:	5d                   	pop    %ebp
410076:	c3                   	ret
410077:	90                   	nop
410078:	55                   	push   %ebp
410079:	8b ec                	mov    %esp,%ebp
41007b:	51                   	push   %ecx
41007c:	53                   	push   %ebx
41007d:	56                   	push   %esi
41007e:	57                   	push   %edi
41007f:	89 45 fc             	mov    %eax,-0x4(%ebp)
410082:	8b 45 fc             	mov    -0x4(%ebp),%eax
410085:	66 8b 00             	mov    (%eax),%ax
410088:	66 83 e8 01          	sub    $0x1,%ax
41008c:	72 10                	jb     0x41009e
41008e:	74 12                	je     0x4100a2
410090:	66 83 e8 0a          	sub    $0xa,%ax
410094:	74 26                	je     0x4100bc
410096:	66 83 e8 06          	sub    $0x6,%ax
41009a:	74 28                	je     0x4100c4
41009c:	eb 2e                	jmp    0x4100cc
41009e:	33 db                	xor    %ebx,%ebx
4100a0:	eb 74                	jmp    0x410116
4100a2:	80 3d 20 93 46 00 00 	cmpb   $0x0,0x469320
4100a9:	74 0d                	je     0x4100b8
4100ab:	66 ba 11 00          	mov    $0x11,%dx
4100af:	66 b8 01 00          	mov    $0x1,%ax
4100b3:	e8 d0 e8 ff ff       	call   0x40e988
4100b8:	33 db                	xor    %ebx,%ebx
4100ba:	eb 5a                	jmp    0x410116
4100bc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4100bf:	8a 5b 08             	mov    0x8(%ebx),%bl
4100c2:	eb 52                	jmp    0x410116
4100c4:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4100c7:	8a 5b 08             	mov    0x8(%ebx),%bl
4100ca:	eb 4a                	jmp    0x410116
4100cc:	33 c0                	xor    %eax,%eax
4100ce:	55                   	push   %ebp
4100cf:	68 fb 00 41 00       	push   $0x4100fb
4100d4:	64 ff 30             	push   %fs:(%eax)
4100d7:	64 89 20             	mov    %esp,%fs:(%eax)
4100da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4100dd:	e8 96 fa ff ff       	call   0x40fb78
4100e2:	8b d8                	mov    %eax,%ebx
4100e4:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4100ea:	76 05                	jbe    0x4100f1
4100ec:	e8 07 31 ff ff       	call   0x4031f8
4100f1:	33 c0                	xor    %eax,%eax
4100f3:	5a                   	pop    %edx
4100f4:	59                   	pop    %ecx
4100f5:	59                   	pop    %ecx
4100f6:	64 89 10             	mov    %edx,%fs:(%eax)
4100f9:	eb 1b                	jmp    0x410116
4100fb:	e9 a0 36 ff ff       	jmp    0x4037a0
410100:	8b 45 fc             	mov    -0x4(%ebp),%eax
410103:	66 8b 00             	mov    (%eax),%ax
410106:	66 ba 11 00          	mov    $0x11,%dx
41010a:	e8 41 ed ff ff       	call   0x40ee50
41010f:	33 db                	xor    %ebx,%ebx
410111:	e8 f2 39 ff ff       	call   0x403b08
410116:	8b c3                	mov    %ebx,%eax
410118:	5f                   	pop    %edi
410119:	5e                   	pop    %esi
41011a:	5b                   	pop    %ebx
41011b:	59                   	pop    %ecx
41011c:	5d                   	pop    %ebp
41011d:	c3                   	ret
41011e:	8b c0                	mov    %eax,%eax
410120:	55                   	push   %ebp
410121:	8b ec                	mov    %esp,%ebp
410123:	51                   	push   %ecx
410124:	53                   	push   %ebx
410125:	56                   	push   %esi
410126:	57                   	push   %edi
410127:	89 45 fc             	mov    %eax,-0x4(%ebp)
41012a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41012d:	0f b7 00             	movzwl (%eax),%eax
410130:	83 f8 11             	cmp    $0x11,%eax
410133:	0f 87 80 00 00 00    	ja     0x4101b9
410139:	8a 80 46 01 41 00    	mov    0x410146(%eax),%al
41013f:	ff 24 85 58 01 41 00 	jmp    *0x410158(,%eax,4)
410146:	01 02                	add    %eax,(%edx)
410148:	03 00                	add    (%eax),%eax
41014a:	00 00                	add    %al,(%eax)
41014c:	00 00                	add    %al,(%eax)
41014e:	00 00                	add    %al,(%eax)
410150:	00 04 00             	add    %al,(%eax,%eax,1)
410153:	00 00                	add    %al,(%eax)
410155:	00 05 06 b9 01 41    	add    %al,0x4101b906
41015b:	00 74 01 41          	add    %dh,0x41(%ecx,%eax,1)
41015f:	00 7b 01             	add    %bh,0x1(%ebx)
410162:	41                   	inc    %ecx
410163:	00 95 01 41 00 9e    	add    %dl,-0x61ffbeff(%ebp)
410169:	01 41 00             	add    %eax,0x0(%ecx)
41016c:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
41016d:	01 41 00             	add    %eax,0x0(%ecx)
410170:	b0 01                	mov    $0x1,%al
410172:	41                   	inc    %ecx
410173:	00 33                	add    %dh,(%ebx)
410175:	db e9                	fucomi %st(1),%st
410177:	94                   	xchg   %eax,%esp
410178:	00 00                	add    %al,(%eax)
41017a:	00 80 3d 20 93 46    	add    %al,0x4693203d(%eax)
410180:	00 00                	add    %al,(%eax)
410182:	74 0d                	je     0x410191
410184:	66 ba 02 00          	mov    $0x2,%dx
410188:	66 b8 01 00          	mov    $0x1,%ax
41018c:	e8 f7 e7 ff ff       	call   0x40e988
410191:	33 db                	xor    %ebx,%ebx
410193:	eb 7a                	jmp    0x41020f
410195:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410198:	66 8b 5b 08          	mov    0x8(%ebx),%bx
41019c:	eb 71                	jmp    0x41020f
41019e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4101a1:	66 8b 5b 08          	mov    0x8(%ebx),%bx
4101a5:	eb 68                	jmp    0x41020f
4101a7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4101aa:	0f be 5b 08          	movsbl 0x8(%ebx),%ebx
4101ae:	eb 5f                	jmp    0x41020f
4101b0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4101b3:	0f b6 5b 08          	movzbl 0x8(%ebx),%ebx
4101b7:	eb 56                	jmp    0x41020f
4101b9:	33 c0                	xor    %eax,%eax
4101bb:	55                   	push   %ebp
4101bc:	68 f4 01 41 00       	push   $0x4101f4
4101c1:	64 ff 30             	push   %fs:(%eax)
4101c4:	64 89 20             	mov    %esp,%fs:(%eax)
4101c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4101ca:	e8 a9 f9 ff ff       	call   0x40fb78
4101cf:	8b d8                	mov    %eax,%ebx
4101d1:	81 c3 00 80 00 00    	add    $0x8000,%ebx
4101d7:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
4101dd:	76 05                	jbe    0x4101e4
4101df:	e8 14 30 ff ff       	call   0x4031f8
4101e4:	81 c3 00 80 ff ff    	add    $0xffff8000,%ebx
4101ea:	33 c0                	xor    %eax,%eax
4101ec:	5a                   	pop    %edx
4101ed:	59                   	pop    %ecx
4101ee:	59                   	pop    %ecx
4101ef:	64 89 10             	mov    %edx,%fs:(%eax)
4101f2:	eb 1b                	jmp    0x41020f
4101f4:	e9 a7 35 ff ff       	jmp    0x4037a0
4101f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4101fc:	66 8b 00             	mov    (%eax),%ax
4101ff:	66 ba 02 00          	mov    $0x2,%dx
410203:	e8 48 ec ff ff       	call   0x40ee50
410208:	33 db                	xor    %ebx,%ebx
41020a:	e8 f9 38 ff ff       	call   0x403b08
41020f:	8b c3                	mov    %ebx,%eax
410211:	5f                   	pop    %edi
410212:	5e                   	pop    %esi
410213:	5b                   	pop    %ebx
410214:	59                   	pop    %ecx
410215:	5d                   	pop    %ebp
410216:	c3                   	ret
410217:	90                   	nop
410218:	55                   	push   %ebp
410219:	8b ec                	mov    %esp,%ebp
41021b:	51                   	push   %ecx
41021c:	53                   	push   %ebx
41021d:	56                   	push   %esi
41021e:	57                   	push   %edi
41021f:	89 45 fc             	mov    %eax,-0x4(%ebp)
410222:	8b 45 fc             	mov    -0x4(%ebp),%eax
410225:	0f b7 00             	movzwl (%eax),%eax
410228:	83 f8 12             	cmp    $0x12,%eax
41022b:	77 71                	ja     0x41029e
41022d:	8a 80 3a 02 41 00    	mov    0x41023a(%eax),%al
410233:	ff 24 85 4d 02 41 00 	jmp    *0x41024d(,%eax,4)
41023a:	01 02                	add    %eax,(%edx)
410244:	00 03                	add    %al,(%ebx)
410246:	00 00                	add    %al,(%eax)
410248:	00 00                	add    %al,(%eax)
41024a:	00 04 05 9e 02 41 00 	add    %al,0x41029e(,%eax,1)
410251:	65 02 41 00          	add    %gs:0x0(%ecx),%al
410255:	69 02 41 00 83 02    	imul   $0x2830041,(%edx),%eax
41025b:	41                   	inc    %ecx
41025c:	00 8c 02 41 00 95 02 	add    %cl,0x2950041(%edx,%eax,1)
410263:	41                   	inc    %ecx
410264:	00 33                	add    %dh,(%ebx)
410266:	db eb                	fucomi %st(3),%st
410268:	7f 80                	jg     0x4101ea
41026a:	3d 20 93 46 00       	cmp    $0x469320,%eax
41026f:	00 74 0d 66          	add    %dh,0x66(%ebp,%ecx,1)
410273:	ba 12 00 66 b8       	mov    $0xb8660012,%edx
410278:	01 00                	add    %eax,(%eax)