402ef9:	3a 4a 02             	cmp    0x2(%edx),%cl
402efc:	75 1a                	jne    0x402f18
402efe:	31 c0                	xor    %eax,%eax
402f00:	5e                   	pop    %esi
402f01:	5b                   	pop    %ebx
402f02:	c3                   	ret
402f03:	5e                   	pop    %esi
402f04:	38 d9                	cmp    %bl,%cl
402f06:	75 10                	jne    0x402f18
402f08:	38 fd                	cmp    %bh,%ch
402f0a:	75 0c                	jne    0x402f18
402f0c:	c1 e9 10             	shr    $0x10,%ecx
402f0f:	c1 eb 10             	shr    $0x10,%ebx
402f12:	38 d9                	cmp    %bl,%cl
402f14:	75 02                	jne    0x402f18
402f16:	38 fd                	cmp    %bh,%ch
402f18:	5e                   	pop    %esi
402f19:	5b                   	pop    %ebx
402f1a:	c3                   	ret
402f1b:	90                   	nop
402f1c:	57                   	push   %edi
402f1d:	89 c7                	mov    %eax,%edi
402f1f:	88 cd                	mov    %cl,%ch
402f21:	89 c8                	mov    %ecx,%eax
402f23:	c1 e0 10             	shl    $0x10,%eax
402f26:	66 89 c8             	mov    %cx,%ax
402f29:	89 d1                	mov    %edx,%ecx
402f2b:	c1 f9 02             	sar    $0x2,%ecx
402f2e:	78 09                	js     0x402f39
402f30:	f3 ab                	rep stos %eax,%es:(%edi)
402f32:	89 d1                	mov    %edx,%ecx
402f34:	83 e1 03             	and    $0x3,%ecx
402f37:	f3 aa                	rep stos %al,%es:(%edi)
402f39:	5f                   	pop    %edi
402f3a:	c3                   	ret
402f3b:	90                   	nop
402f3c:	53                   	push   %ebx
402f3d:	31 db                	xor    %ebx,%ebx
402f3f:	69 93 08 50 45 00 05 	imul   $0x8088405,0x455008(%ebx),%edx
402f46:	84 08 08
402f49:	42                   	inc    %edx
402f4a:	89 93 08 50 45 00    	mov    %edx,0x455008(%ebx)
402f50:	f7 e2                	mul    %edx
402f52:	89 d0                	mov    %edx,%eax
402f54:	5b                   	pop    %ebx
402f55:	c3                   	ret
402f56:	8b c0                	mov    %eax,%eax
402f58:	53                   	push   %ebx
402f59:	56                   	push   %esi
402f5a:	57                   	push   %edi
402f5b:	52                   	push   %edx
402f5c:	83 ec 14             	sub    $0x14,%esp
402f5f:	89 cf                	mov    %ecx,%edi
402f61:	89 c6                	mov    %eax,%esi
402f63:	99                   	cltd
402f64:	31 d0                	xor    %edx,%eax
402f66:	29 d0                	sub    %edx,%eax
402f68:	b9 0a 00 00 00       	mov    $0xa,%ecx
402f6d:	31 db                	xor    %ebx,%ebx
402f6f:	31 d2                	xor    %edx,%edx
402f71:	f7 f1                	div    %ecx
402f73:	83 c2 30             	add    $0x30,%edx
402f76:	88 14 1c             	mov    %dl,(%esp,%ebx,1)
402f79:	43                   	inc    %ebx
402f7a:	85 c0                	test   %eax,%eax
402f7c:	75 f1                	jne    0x402f6f
402f7e:	85 f6                	test   %esi,%esi
402f80:	7d 05                	jge    0x402f87
402f82:	c6 04 1c 2d          	movb   $0x2d,(%esp,%ebx,1)
402f86:	43                   	inc    %ebx
402f87:	88 1f                	mov    %bl,(%edi)
402f89:	47                   	inc    %edi
402f8a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
402f8e:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
402f94:	7e 05                	jle    0x402f9b
402f96:	b9 ff 00 00 00       	mov    $0xff,%ecx
402f9b:	29 d9                	sub    %ebx,%ecx
402f9d:	7e 07                	jle    0x402fa6
402f9f:	00 4f ff             	add    %cl,-0x1(%edi)
402fa2:	b0 20                	mov    $0x20,%al
402fa4:	f3 aa                	rep stos %al,%es:(%edi)
402fa6:	8a 44 1c ff          	mov    -0x1(%esp,%ebx,1),%al
402faa:	88 07                	mov    %al,(%edi)
402fac:	47                   	inc    %edi
402fad:	4b                   	dec    %ebx
402fae:	75 f6                	jne    0x402fa6
402fb0:	83 c4 18             	add    $0x18,%esp
402fb3:	5f                   	pop    %edi
402fb4:	5e                   	pop    %esi
402fb5:	5b                   	pop    %ebx
402fb6:	c3                   	ret
402fb7:	90                   	nop
402fb8:	8b ca                	mov    %edx,%ecx
402fba:	33 d2                	xor    %edx,%edx
402fbc:	e8 97 ff ff ff       	call   0x402f58
402fc1:	c3                   	ret
402fc2:	8b c0                	mov    %eax,%eax
402fc4:	53                   	push   %ebx
402fc5:	56                   	push   %esi
402fc6:	57                   	push   %edi
402fc7:	89 c6                	mov    %eax,%esi
402fc9:	50                   	push   %eax
402fca:	85 c0                	test   %eax,%eax
402fcc:	74 6c                	je     0x40303a
402fce:	31 c0                	xor    %eax,%eax
402fd0:	31 db                	xor    %ebx,%ebx
402fd2:	bf cc cc cc 0c       	mov    $0xccccccc,%edi
402fd7:	8a 1e                	mov    (%esi),%bl
402fd9:	46                   	inc    %esi
402fda:	80 fb 20             	cmp    $0x20,%bl
402fdd:	74 f8                	je     0x402fd7
402fdf:	b5 00                	mov    $0x0,%ch
402fe1:	80 fb 2d             	cmp    $0x2d,%bl
402fe4:	74 62                	je     0x403048
402fe6:	80 fb 2b             	cmp    $0x2b,%bl
402fe9:	74 5f                	je     0x40304a
402feb:	80 fb 24             	cmp    $0x24,%bl
402fee:	74 5f                	je     0x40304f
402ff0:	80 fb 78             	cmp    $0x78,%bl
402ff3:	74 5a                	je     0x40304f
402ff5:	80 fb 58             	cmp    $0x58,%bl
402ff8:	74 55                	je     0x40304f
402ffa:	80 fb 30             	cmp    $0x30,%bl
402ffd:	75 13                	jne    0x403012
402fff:	8a 1e                	mov    (%esi),%bl
403001:	46                   	inc    %esi
403002:	80 fb 78             	cmp    $0x78,%bl
403005:	74 48                	je     0x40304f
403007:	80 fb 58             	cmp    $0x58,%bl
40300a:	74 43                	je     0x40304f
40300c:	84 db                	test   %bl,%bl
40300e:	74 20                	je     0x403030
403010:	eb 04                	jmp    0x403016
403012:	84 db                	test   %bl,%bl
403014:	74 2d                	je     0x403043
403016:	80 eb 30             	sub    $0x30,%bl
403019:	80 fb 09             	cmp    $0x9,%bl
40301c:	77 25                	ja     0x403043
40301e:	39 f8                	cmp    %edi,%eax
403020:	77 21                	ja     0x403043
403022:	8d 04 80             	lea    (%eax,%eax,4),%eax
403025:	01 c0                	add    %eax,%eax
403027:	01 d8                	add    %ebx,%eax
403029:	8a 1e                	mov    (%esi),%bl
40302b:	46                   	inc    %esi
40302c:	84 db                	test   %bl,%bl
40302e:	75 e6                	jne    0x403016
403030:	fe cd                	dec    %ch
403032:	74 09                	je     0x40303d
403034:	85 c0                	test   %eax,%eax
403036:	7d 54                	jge    0x40308c
403038:	eb 09                	jmp    0x403043
40303a:	46                   	inc    %esi
40303b:	eb 06                	jmp    0x403043
40303d:	f7 d8                	neg    %eax
40303f:	7e 4b                	jle    0x40308c
403041:	78 49                	js     0x40308c
403043:	5b                   	pop    %ebx
403044:	29 de                	sub    %ebx,%esi
403046:	eb 47                	jmp    0x40308f
403048:	fe c5                	inc    %ch
40304a:	8a 1e                	mov    (%esi),%bl
40304c:	46                   	inc    %esi
40304d:	eb 9c                	jmp    0x402feb
40304f:	bf ff ff ff 0f       	mov    $0xfffffff,%edi
403054:	8a 1e                	mov    (%esi),%bl
403056:	46                   	inc    %esi
403057:	84 db                	test   %bl,%bl
403059:	74 df                	je     0x40303a
40305b:	80 fb 61             	cmp    $0x61,%bl
40305e:	72 03                	jb     0x403063
403060:	80 eb 20             	sub    $0x20,%bl
403063:	80 eb 30             	sub    $0x30,%bl
403066:	80 fb 09             	cmp    $0x9,%bl
403069:	76 0b                	jbe    0x403076
40306b:	80 eb 11             	sub    $0x11,%bl
40306e:	80 fb 05             	cmp    $0x5,%bl
403071:	77 d0                	ja     0x403043
403073:	80 c3 0a             	add    $0xa,%bl
403076:	39 f8                	cmp    %edi,%eax
403078:	77 c9                	ja     0x403043
40307a:	c1 e0 04             	shl    $0x4,%eax
40307d:	01 d8                	add    %ebx,%eax
40307f:	8a 1e                	mov    (%esi),%bl
403081:	46                   	inc    %esi
403082:	84 db                	test   %bl,%bl
403084:	75 d5                	jne    0x40305b
403086:	fe cd                	dec    %ch
403088:	75 02                	jne    0x40308c
40308a:	f7 d8                	neg    %eax
40308c:	59                   	pop    %ecx
40308d:	31 f6                	xor    %esi,%esi
40308f:	89 32                	mov    %esi,(%edx)
403091:	5f                   	pop    %edi
403092:	5e                   	pop    %esi
403093:	5b                   	pop    %ebx
403094:	c3                   	ret
403095:	8d 40 00             	lea    0x0(%eax),%eax
403098:	b9 ff 00 00 00       	mov    $0xff,%ecx
40309d:	e8 02 00 00 00       	call   0x4030a4
4030a2:	c3                   	ret
4030a3:	90                   	nop
4030a4:	53                   	push   %ebx
4030a5:	50                   	push   %eax
4030a6:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
4030ac:	76 05                	jbe    0x4030b3
4030ae:	b9 ff 00 00 00       	mov    $0xff,%ecx
4030b3:	8a 1a                	mov    (%edx),%bl
4030b5:	42                   	inc    %edx
4030b6:	84 db                	test   %bl,%bl
4030b8:	74 06                	je     0x4030c0
4030ba:	40                   	inc    %eax
4030bb:	88 18                	mov    %bl,(%eax)
4030bd:	49                   	dec    %ecx
4030be:	75 f3                	jne    0x4030b3
4030c0:	5a                   	pop    %edx
4030c1:	29 d0                	sub    %edx,%eax
4030c3:	88 02                	mov    %al,(%edx)
4030c5:	5b                   	pop    %ebx
4030c6:	c3                   	ret
4030c7:	90                   	nop
4030c8:	56                   	push   %esi
4030c9:	57                   	push   %edi
4030ca:	89 c6                	mov    %eax,%esi
4030cc:	89 d7                	mov    %edx,%edi
4030ce:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4030d4:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4030d6:	5f                   	pop    %edi
4030d7:	5e                   	pop    %esi
4030d8:	c3                   	ret
4030d9:	8d 40 00             	lea    0x0(%eax),%eax
4030dc:	53                   	push   %ebx
4030dd:	31 db                	xor    %ebx,%ebx
4030df:	57                   	push   %edi
4030e0:	89 d7                	mov    %edx,%edi
4030e2:	89 c1                	mov    %eax,%ecx
4030e4:	83 ec 0a             	sub    $0xa,%esp
4030e7:	c6 07 30             	movb   $0x30,(%edi)
4030ea:	dc 8b 68 50 45 00    	fmull  0x455068(%ebx)
4030f0:	d9 fc                	frndint
4030f2:	dc 93 70 50 45 00    	fcoml  0x455070(%ebx)
4030f8:	9b df e0             	fstsw  %ax
4030fb:	9e                   	sahf
4030fc:	72 09                	jb     0x403107
4030fe:	dc a3 70 50 45 00    	fsubl  0x455070(%ebx)
403104:	c6 07 31             	movb   $0x31,(%edi)
403107:	df 34 24             	fbstp  (%esp)
40310a:	ba 08 00 00 00       	mov    $0x8,%edx
40310f:	47                   	inc    %edi
403110:	9b                   	fwait
403111:	8a 04 14             	mov    (%esp,%edx,1),%al
403114:	88 c4                	mov    %al,%ah
403116:	c0 e8 04             	shr    $0x4,%al
403119:	80 e4 0f             	and    $0xf,%ah
40311c:	66 05 30 30          	add    $0x3030,%ax
403120:	66 ab                	stos   %ax,%es:(%edi)
403122:	4a                   	dec    %edx
403123:	79 eb                	jns    0x403110
403125:	83 e9 12             	sub    $0x12,%ecx
403128:	7c 06                	jl     0x403130
40312a:	b0 30                	mov    $0x30,%al
40312c:	f3 aa                	rep stos %al,%es:(%edi)
40312e:	eb 14                	jmp    0x403144
403130:	01 cf                	add    %ecx,%edi
403132:	80 3f 35             	cmpb   $0x35,(%edi)
403135:	7c 0d                	jl     0x403144
403137:	4f                   	dec    %edi
403138:	fe 07                	incb   (%edi)
40313a:	80 3f 39             	cmpb   $0x39,(%edi)
40313d:	7e 05                	jle    0x403144
40313f:	c6 07 30             	movb   $0x30,(%edi)
403142:	eb f3                	jmp    0x403137
403144:	83 c4 0a             	add    $0xa,%esp
403147:	5f                   	pop    %edi
403148:	5b                   	pop    %ebx
403149:	c3                   	ret
40314a:	8b c0                	mov    %eax,%eax
40314c:	53                   	push   %ebx
40314d:	83 ec 0c             	sub    $0xc,%esp
403150:	31 db                	xor    %ebx,%ebx
403152:	d9 c0                	fld    %st(0)
403154:	db 3c 24             	fstpt  (%esp)
403157:	66 8b 44 24 08       	mov    0x8(%esp),%ax
40315c:	66 85 c0             	test   %ax,%ax
40315f:	74 1b                	je     0x40317c
403161:	66 2d ff 3f          	sub    $0x3fff,%ax
403165:	66 ba 10 4d          	mov    $0x4d10,%dx
403169:	66 f7 ea             	imul   %dx
40316c:	0f bf c2             	movswl %dx,%eax
40316f:	f7 d8                	neg    %eax
403171:	74 16                	je     0x403189
403173:	29 c3                	sub    %eax,%ebx
403175:	e8 da 01 00 00       	call   0x403354
40317a:	eb d6                	jmp    0x403152
40317c:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
403181:	75 de                	jne    0x403161
403183:	83 3c 24 00          	cmpl   $0x0,(%esp)
403187:	75 d8                	jne    0x403161
403189:	83 c4 0c             	add    $0xc,%esp
40318c:	89 d8                	mov    %ebx,%eax
40318e:	5b                   	pop    %ebx
40318f:	c3                   	ret
403190:	db 6c 24 04          	fldt   0x4(%esp)
403194:	53                   	push   %ebx
403195:	56                   	push   %esi
403196:	57                   	push   %edi
403197:	89 c3                	mov    %eax,%ebx
403199:	89 d6                	mov    %edx,%esi
40319b:	51                   	push   %ecx
40319c:	81 ec 00 01 00 00    	sub    $0x100,%esp
4031a2:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4031a8:	7e 05                	jle    0x4031af
4031aa:	bb ff 00 00 00       	mov    $0xff,%ebx
4031af:	d9 c0                	fld    %st(0)
4031b1:	db 3c 24             	fstpt  (%esp)
4031b4:	31 c0                	xor    %eax,%eax
4031b6:	66 8b 44 24 08       	mov    0x8(%esp),%ax
4031bb:	89 c7                	mov    %eax,%edi
4031bd:	c1 ef 0f             	shr    $0xf,%edi
4031c0:	66 25 ff 7f          	and    $0x7fff,%ax
4031c4:	66 3d ff 7f          	cmp    $0x7fff,%ax
4031c8:	0f 84 3e 01 00 00    	je     0x40330c
4031ce:	d9 e1                	fabs
4031d0:	85 f6                	test   %esi,%esi
4031d2:	0f 8d a1 00 00 00    	jge    0x403279
4031d8:	e8 6f ff ff ff       	call   0x40314c
4031dd:	89 de                	mov    %ebx,%esi
4031df:	83 ee 08             	sub    $0x8,%esi
4031e2:	83 fe 02             	cmp    $0x2,%esi
4031e5:	7d 07                	jge    0x4031ee
4031e7:	be 02 00 00 00       	mov    $0x2,%esi
4031ec:	eb 0a                	jmp    0x4031f8
4031ee:	83 fe 12             	cmp    $0x12,%esi
4031f1:	7e 05                	jle    0x4031f8
4031f3:	be 12 00 00 00       	mov    $0x12,%esi
4031f8:	89 e2                	mov    %esp,%edx
4031fa:	50                   	push   %eax
4031fb:	89 f0                	mov    %esi,%eax
4031fd:	e8 da fe ff ff       	call   0x4030dc
403202:	89 fa                	mov    %edi,%edx
403204:	8b bc 24 04 01 00 00 	mov    0x104(%esp),%edi
40320b:	88 1f                	mov    %bl,(%edi)
40320d:	47                   	inc    %edi
40320e:	b0 20                	mov    $0x20,%al
403210:	89 d9                	mov    %ebx,%ecx
403212:	29 f1                	sub    %esi,%ecx
403214:	83 e9 08             	sub    $0x8,%ecx
403217:	7e 02                	jle    0x40321b
403219:	f3 aa                	rep stos %al,%es:(%edi)
40321b:	28 4f ff             	sub    %cl,-0x1(%edi)