402f70:	83 e9 08             	sub    $0x8,%ecx
402f73:	51                   	push   %ecx
402f74:	df 2c 01             	fildll (%ecx,%eax,1)
402f77:	df 28                	fildll (%eax)
402f79:	01 d1                	add    %edx,%ecx
402f7b:	83 e1 f8             	and    $0xfffffff8,%ecx
402f7e:	29 d1                	sub    %edx,%ecx
402f80:	df 2c 01             	fildll (%ecx,%eax,1)
402f83:	df 3c 11             	fistpll (%ecx,%edx,1)
402f86:	83 e9 08             	sub    $0x8,%ecx
402f89:	7f f5                	jg     0x402f80
402f8b:	59                   	pop    %ecx
402f8c:	df 3a                	fistpll (%edx)
402f8e:	df 3c 11             	fistpll (%ecx,%edx,1)
402f91:	c3                   	ret
402f92:	0f b6 08             	movzbl (%eax),%ecx
402f95:	88 0a                	mov    %cl,(%edx)
402f97:	c3                   	ret
402f98:	0f b7 08             	movzwl (%eax),%ecx
402f9b:	66 89 0a             	mov    %cx,(%edx)
402f9e:	c3                   	ret
402f9f:	66 8b 08             	mov    (%eax),%cx
402fa2:	8a 40 02             	mov    0x2(%eax),%al
402fa5:	66 89 0a             	mov    %cx,(%edx)
402fa8:	88 42 02             	mov    %al,0x2(%edx)
402fab:	c3                   	ret
402fac:	8b 08                	mov    (%eax),%ecx
402fae:	89 0a                	mov    %ecx,(%edx)
402fb0:	c3                   	ret
402fb1:	8b 08                	mov    (%eax),%ecx
402fb3:	8a 40 04             	mov    0x4(%eax),%al
402fb6:	89 0a                	mov    %ecx,(%edx)
402fb8:	88 42 04             	mov    %al,0x4(%edx)
402fbb:	c3                   	ret
402fbc:	8b 08                	mov    (%eax),%ecx
402fbe:	66 8b 40 04          	mov    0x4(%eax),%ax
402fc2:	89 0a                	mov    %ecx,(%edx)
402fc4:	66 89 42 04          	mov    %ax,0x4(%edx)
402fc8:	c3                   	ret
402fc9:	8b 08                	mov    (%eax),%ecx
402fcb:	8b 40 03             	mov    0x3(%eax),%eax
402fce:	89 0a                	mov    %ecx,(%edx)
402fd0:	89 42 03             	mov    %eax,0x3(%edx)
402fd3:	c3                   	ret
402fd4:	df 28                	fildll (%eax)
402fd6:	df 3a                	fistpll (%edx)
402fd8:	c3                   	ret
402fd9:	8d 40 00             	lea    0x0(%eax),%eax
402fdc:	83 c4 f8             	add    $0xfffffff8,%esp
402fdf:	54                   	push   %esp
402fe0:	e8 77 e3 ff ff       	call   0x40135c
402fe5:	85 c0                	test   %eax,%eax
402fe7:	74 0b                	je     0x402ff4
402fe9:	8b 04 24             	mov    (%esp),%eax
402fec:	a3 08 00 46 00       	mov    %eax,0x460008
402ff1:	59                   	pop    %ecx
402ff2:	5a                   	pop    %edx
402ff3:	c3                   	ret
402ff4:	e8 6b e3 ff ff       	call   0x401364
402ff9:	a3 08 00 46 00       	mov    %eax,0x460008
402ffe:	59                   	pop    %ecx
402fff:	5a                   	pop    %edx
403000:	c3                   	ret
403001:	8d 40 00             	lea    0x0(%eax),%eax
403004:	3c 61                	cmp    $0x61,%al
403006:	72 06                	jb     0x40300e
403008:	3c 7a                	cmp    $0x7a,%al
40300a:	77 02                	ja     0x40300e
40300c:	2c 20                	sub    $0x20,%al
40300e:	c3                   	ret
40300f:	90                   	nop
403010:	66 a3 24 00 46 00    	mov    %ax,0x460024
403016:	db e2                	fnclex
403018:	d9 2d 24 00 46 00    	fldcw  0x460024
40301e:	c3                   	ret
40301f:	90                   	nop
403020:	6a 00                	push   $0x0
403022:	d9 3c 24             	fnstcw (%esp)
403025:	58                   	pop    %eax
403026:	c3                   	ret
403027:	90                   	nop
403028:	83 ec 08             	sub    $0x8,%esp
40302b:	df 3c 24             	fistpll (%esp)
40302e:	9b                   	fwait
40302f:	58                   	pop    %eax
403030:	5a                   	pop    %edx
403031:	c3                   	ret
403032:	8b c0                	mov    %eax,%eax
403034:	83 ec 0c             	sub    $0xc,%esp
403037:	d9 3c 24             	fnstcw (%esp)
40303a:	d9 7c 24 02          	fnstcw 0x2(%esp)
40303e:	9b                   	fwait
40303f:	66 81 4c 24 02 00 0f 	orw    $0xf00,0x2(%esp)
403046:	d9 6c 24 02          	fldcw  0x2(%esp)
40304a:	df 7c 24 04          	fistpll 0x4(%esp)
40304e:	9b d9 2c 24          	fldcw  (%esp)
403052:	59                   	pop    %ecx
403053:	58                   	pop    %eax
403054:	5a                   	pop    %edx
403055:	c3                   	ret
403056:	8b c0                	mov    %eax,%eax
403058:	83 3d 2c e0 46 00 00 	cmpl   $0x0,0x46e02c
40305f:	74 06                	je     0x403067
403061:	ff 15 2c e0 46 00    	call   *0x46e02c
403067:	b8 d2 00 00 00       	mov    $0xd2,%eax
40306c:	e9 a3 16 00 00       	jmp    0x404714
403071:	c3                   	ret
403072:	8b c0                	mov    %eax,%eax
403074:	53                   	push   %ebx
403075:	0f b7 48 04          	movzwl 0x4(%eax),%ecx
403079:	66 81 e9 b1 d7       	sub    $0xd7b1,%cx
40307e:	74 0f                	je     0x40308f
403080:	49                   	dec    %ecx
403081:	66 83 e9 02          	sub    $0x2,%cx
403085:	73 0c                	jae    0x403093
403087:	8b da                	mov    %edx,%ebx
403089:	ff d3                	call   *%ebx
40308b:	8b d8                	mov    %eax,%ebx
40308d:	eb 1b                	jmp    0x4030aa
40308f:	33 db                	xor    %ebx,%ebx
403091:	eb 17                	jmp    0x4030aa
403093:	3d 1c e2 46 00       	cmp    $0x46e21c,%eax
403098:	74 07                	je     0x4030a1
40309a:	3d e8 e3 46 00       	cmp    $0x46e3e8,%eax
40309f:	75 04                	jne    0x4030a5
4030a1:	33 db                	xor    %ebx,%ebx
4030a3:	eb 05                	jmp    0x4030aa
4030a5:	bb 67 00 00 00       	mov    $0x67,%ebx
4030aa:	85 db                	test   %ebx,%ebx
4030ac:	74 07                	je     0x4030b5
4030ae:	8b c3                	mov    %ebx,%eax
4030b0:	e8 b3 fd ff ff       	call   0x402e68
4030b5:	8b c3                	mov    %ebx,%eax
4030b7:	5b                   	pop    %ebx
4030b8:	c3                   	ret
4030b9:	8d 40 00             	lea    0x0(%eax),%eax
4030bc:	8b 50 1c             	mov    0x1c(%eax),%edx
4030bf:	e8 b0 ff ff ff       	call   0x403074
4030c4:	c3                   	ret
4030c5:	8d 40 00             	lea    0x0(%eax),%eax
4030c8:	53                   	push   %ebx
4030c9:	56                   	push   %esi
4030ca:	8b d8                	mov    %eax,%ebx
4030cc:	33 f6                	xor    %esi,%esi
4030ce:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
4030d2:	66 3d b1 d7          	cmp    $0xd7b1,%ax
4030d6:	72 2f                	jb     0x403107
4030d8:	66 3d b3 d7          	cmp    $0xd7b3,%ax
4030dc:	77 29                	ja     0x403107
4030de:	66 25 b2 d7          	and    $0xd7b2,%ax
4030e2:	66 3d b2 d7          	cmp    $0xd7b2,%ax
4030e6:	75 07                	jne    0x4030ef
4030e8:	8b c3                	mov    %ebx,%eax
4030ea:	ff 53 1c             	call   *0x1c(%ebx)
4030ed:	8b f0                	mov    %eax,%esi
4030ef:	85 f6                	test   %esi,%esi
4030f1:	75 07                	jne    0x4030fa
4030f3:	8b c3                	mov    %ebx,%eax
4030f5:	ff 53 24             	call   *0x24(%ebx)
4030f8:	8b f0                	mov    %eax,%esi
4030fa:	85 f6                	test   %esi,%esi
4030fc:	74 1b                	je     0x403119
4030fe:	8b c6                	mov    %esi,%eax
403100:	e8 63 fd ff ff       	call   0x402e68
403105:	eb 12                	jmp    0x403119
403107:	81 fb 50 e0 46 00    	cmp    $0x46e050,%ebx
40310d:	74 0a                	je     0x403119
40310f:	b8 67 00 00 00       	mov    $0x67,%eax
403114:	e8 4f fd ff ff       	call   0x402e68
403119:	8b c6                	mov    %esi,%eax
40311b:	5e                   	pop    %esi
40311c:	5b                   	pop    %ebx
40311d:	c3                   	ret
40311e:	8b c0                	mov    %eax,%eax
403120:	53                   	push   %ebx
403121:	0f b6 1a             	movzbl (%edx),%ebx
403124:	3a cb                	cmp    %bl,%cl
403126:	76 02                	jbe    0x40312a
403128:	8b cb                	mov    %ebx,%ecx
40312a:	88 08                	mov    %cl,(%eax)
40312c:	42                   	inc    %edx
40312d:	40                   	inc    %eax
40312e:	0f b6 c9             	movzbl %cl,%ecx
403131:	92                   	xchg   %eax,%edx
403132:	e8 a5 fd ff ff       	call   0x402edc
403137:	5b                   	pop    %ebx
403138:	c3                   	ret
403139:	8d 40 00             	lea    0x0(%eax),%eax
40313c:	53                   	push   %ebx
40313d:	56                   	push   %esi
40313e:	57                   	push   %edi
40313f:	89 c6                	mov    %eax,%esi
403141:	89 d7                	mov    %edx,%edi
403143:	31 c0                	xor    %eax,%eax
403145:	31 d2                	xor    %edx,%edx
403147:	8a 06                	mov    (%esi),%al
403149:	8a 17                	mov    (%edi),%dl
40314b:	46                   	inc    %esi
40314c:	47                   	inc    %edi
40314d:	29 d0                	sub    %edx,%eax
40314f:	77 02                	ja     0x403153
403151:	01 c2                	add    %eax,%edx
403153:	52                   	push   %edx
403154:	c1 ea 02             	shr    $0x2,%edx
403157:	74 26                	je     0x40317f
403159:	8b 0e                	mov    (%esi),%ecx
40315b:	8b 1f                	mov    (%edi),%ebx
40315d:	39 d9                	cmp    %ebx,%ecx
40315f:	75 44                	jne    0x4031a5
403161:	4a                   	dec    %edx
403162:	74 15                	je     0x403179
403164:	8b 4e 04             	mov    0x4(%esi),%ecx
403167:	8b 5f 04             	mov    0x4(%edi),%ebx
40316a:	39 d9                	cmp    %ebx,%ecx
40316c:	75 37                	jne    0x4031a5
40316e:	83 c6 08             	add    $0x8,%esi
403171:	83 c7 08             	add    $0x8,%edi
403174:	4a                   	dec    %edx
403175:	75 e2                	jne    0x403159
403177:	eb 06                	jmp    0x40317f
403179:	83 c6 04             	add    $0x4,%esi
40317c:	83 c7 04             	add    $0x4,%edi
40317f:	5a                   	pop    %edx
403180:	83 e2 03             	and    $0x3,%edx
403183:	74 1c                	je     0x4031a1
403185:	8a 0e                	mov    (%esi),%cl
403187:	3a 0f                	cmp    (%edi),%cl
403189:	75 2f                	jne    0x4031ba
40318b:	4a                   	dec    %edx
40318c:	74 13                	je     0x4031a1
40318e:	8a 4e 01             	mov    0x1(%esi),%cl
403191:	3a 4f 01             	cmp    0x1(%edi),%cl
403194:	75 24                	jne    0x4031ba
403196:	4a                   	dec    %edx
403197:	74 08                	je     0x4031a1
403199:	8a 4e 02             	mov    0x2(%esi),%cl
40319c:	3a 4f 02             	cmp    0x2(%edi),%cl
40319f:	75 19                	jne    0x4031ba
4031a1:	01 c0                	add    %eax,%eax
4031a3:	eb 15                	jmp    0x4031ba
4031a5:	5a                   	pop    %edx
4031a6:	38 d9                	cmp    %bl,%cl
4031a8:	75 10                	jne    0x4031ba
4031aa:	38 fd                	cmp    %bh,%ch
4031ac:	75 0c                	jne    0x4031ba
4031ae:	c1 e9 10             	shr    $0x10,%ecx
4031b1:	c1 eb 10             	shr    $0x10,%ebx
4031b4:	38 d9                	cmp    %bl,%cl
4031b6:	75 02                	jne    0x4031ba
4031b8:	38 fd                	cmp    %bh,%ch
4031ba:	5f                   	pop    %edi
4031bb:	5e                   	pop    %esi
4031bc:	5b                   	pop    %ebx
4031bd:	c3                   	ret
4031be:	8b c0                	mov    %eax,%eax
4031c0:	53                   	push   %ebx
4031c1:	56                   	push   %esi
4031c2:	51                   	push   %ecx
4031c3:	89 ce                	mov    %ecx,%esi
4031c5:	c1 ee 02             	shr    $0x2,%esi
4031c8:	74 26                	je     0x4031f0
4031ca:	8b 08                	mov    (%eax),%ecx
4031cc:	8b 1a                	mov    (%edx),%ebx
4031ce:	39 d9                	cmp    %ebx,%ecx
4031d0:	75 45                	jne    0x403217
4031d2:	4e                   	dec    %esi
4031d3:	74 15                	je     0x4031ea
4031d5:	8b 48 04             	mov    0x4(%eax),%ecx
4031d8:	8b 5a 04             	mov    0x4(%edx),%ebx
4031db:	39 d9                	cmp    %ebx,%ecx
4031dd:	75 38                	jne    0x403217
4031df:	83 c0 08             	add    $0x8,%eax
4031e2:	83 c2 08             	add    $0x8,%edx
4031e5:	4e                   	dec    %esi
4031e6:	75 e2                	jne    0x4031ca
4031e8:	eb 06                	jmp    0x4031f0
4031ea:	83 c0 04             	add    $0x4,%eax
4031ed:	83 c2 04             	add    $0x4,%edx
4031f0:	5e                   	pop    %esi
4031f1:	83 e6 03             	and    $0x3,%esi
4031f4:	74 36                	je     0x40322c
4031f6:	8a 08                	mov    (%eax),%cl
4031f8:	3a 0a                	cmp    (%edx),%cl
4031fa:	75 30                	jne    0x40322c
4031fc:	4e                   	dec    %esi
4031fd:	74 13                	je     0x403212
4031ff:	8a 48 01             	mov    0x1(%eax),%cl
403202:	3a 4a 01             	cmp    0x1(%edx),%cl
403205:	75 25                	jne    0x40322c
403207:	4e                   	dec    %esi
403208:	74 08                	je     0x403212
40320a:	8a 48 02             	mov    0x2(%eax),%cl
40320d:	3a 4a 02             	cmp    0x2(%edx),%cl
403210:	75 1a                	jne    0x40322c
403212:	31 c0                	xor    %eax,%eax
403214:	5e                   	pop    %esi
403215:	5b                   	pop    %ebx
403216:	c3                   	ret
403217:	5e                   	pop    %esi
403218:	38 d9                	cmp    %bl,%cl
40321a:	75 10                	jne    0x40322c
40321c:	38 fd                	cmp    %bh,%ch
40321e:	75 0c                	jne    0x40322c
403220:	c1 e9 10             	shr    $0x10,%ecx
403223:	c1 eb 10             	shr    $0x10,%ebx
403226:	38 d9                	cmp    %bl,%cl
403228:	75 02                	jne    0x40322c
40322a:	38 fd                	cmp    %bh,%ch
40322c:	5e                   	pop    %esi
40322d:	5b                   	pop    %ebx
40322e:	c3                   	ret
40322f:	90                   	nop
403230:	83 fa 20             	cmp    $0x20,%edx
403233:	88 cd                	mov    %cl,%ch
403235:	7c 3d                	jl     0x403274
403237:	66 89 08             	mov    %cx,(%eax)
40323a:	66 89 48 02          	mov    %cx,0x2(%eax)
40323e:	66 89 48 04          	mov    %cx,0x4(%eax)
403242:	66 89 48 06          	mov    %cx,0x6(%eax)
403246:	83 ea 10             	sub    $0x10,%edx
403249:	dd 00                	fldl   (%eax)
40324b:	dd 14 02             	fstl   (%edx,%eax,1)
40324e:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
403252:	89 c1                	mov    %eax,%ecx
403254:	83 e1 07             	and    $0x7,%ecx
403257:	83 e9 08             	sub    $0x8,%ecx
40325a:	29 c8                	sub    %ecx,%eax
40325c:	01 ca                	add    %ecx,%edx
40325e:	01 d0                	add    %edx,%eax
403260:	f7 da                	neg    %edx
403262:	dd 14 02             	fstl   (%edx,%eax,1)
403265:	dd 54 02 08          	fstl   0x8(%edx,%eax,1)
403269:	83 c2 10             	add    $0x10,%edx
40326c:	7c f4                	jl     0x403262
40326e:	dd c0                	ffree  %st(0)
403270:	c3                   	ret
403271:	90                   	nop
403272:	90                   	nop
403273:	90                   	nop
403274:	85 d2                	test   %edx,%edx
403276:	7e 50                	jle    0x4032c8
403278:	88 4c 02 ff          	mov    %cl,-0x1(%edx,%eax,1)
40327c:	83 e2 fe             	and    $0xfffffffe,%edx
40327f:	f7 da                	neg    %edx
403281:	8d 14 55 c8 32 40 00 	lea    0x4032c8(,%edx,2),%edx
403288:	ff e2                	jmp    *%edx
40328a:	90                   	nop
40328b:	90                   	nop
40328c:	66 89 48 1c          	mov    %cx,0x1c(%eax)
403290:	66 89 48 1a          	mov    %cx,0x1a(%eax)