416df0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
416df3:	8b 00                	mov    (%eax),%eax
416df5:	89 45 f4             	mov    %eax,-0xc(%ebp)
416df8:	8b 4b 30             	mov    0x30(%ebx),%ecx
416dfb:	8b 45 f4             	mov    -0xc(%ebp),%eax
416dfe:	d3 e8                	shr    %cl,%eax
416e00:	89 45 f0             	mov    %eax,-0x10(%ebp)
416e03:	8b 43 20             	mov    0x20(%ebx),%eax
416e06:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
416e0b:	75 40                	jne    0x416e4d
416e0d:	8b c3                	mov    %ebx,%eax
416e0f:	e8 e0 eb ff ff       	call   0x4159f4
416e14:	8b b8 5c 04 00 00    	mov    0x45c(%eax),%edi
416e1a:	8b 43 2c             	mov    0x2c(%ebx),%eax
416e1d:	48                   	dec    %eax
416e1e:	2b 45 f0             	sub    -0x10(%ebp),%eax
416e21:	0f af f8             	imul   %eax,%edi
416e24:	8b c3                	mov    %ebx,%eax
416e26:	e8 c9 eb ff ff       	call   0x4159f4
416e2b:	03 b8 60 04 00 00    	add    0x460(%eax),%edi
416e31:	89 7d e8             	mov    %edi,-0x18(%ebp)
416e34:	8b c3                	mov    %ebx,%eax
416e36:	e8 b9 eb ff ff       	call   0x4159f4
416e3b:	8b 80 64 04 00 00    	mov    0x464(%eax),%eax
416e41:	8b 53 28             	mov    0x28(%ebx),%edx
416e44:	0f af 55 f0          	imul   -0x10(%ebp),%edx
416e48:	03 c2                	add    %edx,%eax
416e4a:	89 45 ec             	mov    %eax,-0x14(%ebp)
416e4d:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
416e51:	0f 86 fd 01 00 00    	jbe    0x417054
416e57:	e9 e7 01 00 00       	jmp    0x417043
416e5c:	8b 43 20             	mov    0x20(%ebx),%eax
416e5f:	66 83 78 1a 00       	cmpw   $0x0,0x1a(%eax)
416e64:	0f 84 a4 00 00 00    	je     0x416f0e
416e6a:	8b 43 20             	mov    0x20(%ebx),%eax
416e6d:	0f b6 40 20          	movzbl 0x20(%eax),%eax
416e71:	83 3c 85 60 86 42 00 	cmpl   $0x0,0x428660(,%eax,4)
416e78:	00
416e79:	7e 57                	jle    0x416ed2
416e7b:	33 c0                	xor    %eax,%eax
416e7d:	8a 45 fb             	mov    -0x5(%ebp),%al
416e80:	6b c0 64             	imul   $0x64,%eax,%eax
416e83:	89 45 c0             	mov    %eax,-0x40(%ebp)
416e86:	db 45 c0             	fildl  -0x40(%ebp)
416e89:	8b 43 20             	mov    0x20(%ebx),%eax
416e8c:	0f b6 40 20          	movzbl 0x20(%eax),%eax
416e90:	8b 04 85 60 86 42 00 	mov    0x428660(,%eax,4),%eax
416e97:	40                   	inc    %eax
416e98:	89 45 bc             	mov    %eax,-0x44(%ebp)
416e9b:	db 45 bc             	fildl  -0x44(%ebp)
416e9e:	de f9                	fdivrp %st,%st(1)
416ea0:	6b 45 f4 64          	imul   $0x64,-0xc(%ebp),%eax
416ea4:	89 45 b8             	mov    %eax,-0x48(%ebp)
416ea7:	db 45 b8             	fildl  -0x48(%ebp)
416eaa:	db 43 2c             	fildl  0x2c(%ebx)
416ead:	de f9                	fdivrp %st,%st(1)
416eaf:	8b 43 20             	mov    0x20(%ebx),%eax
416eb2:	0f b6 40 20          	movzbl 0x20(%eax),%eax
416eb6:	8b 04 85 60 86 42 00 	mov    0x428660(,%eax,4),%eax
416ebd:	40                   	inc    %eax
416ebe:	89 45 b4             	mov    %eax,-0x4c(%ebp)
416ec1:	db 45 b4             	fildl  -0x4c(%ebp)
416ec4:	de f9                	fdivrp %st,%st(1)
416ec6:	de c1                	faddp  %st,%st(1)
416ec8:	e8 cf ba fe ff       	call   0x40299c
416ecd:	89 45 dc             	mov    %eax,-0x24(%ebp)
416ed0:	eb 10                	jmp    0x416ee2
416ed2:	6b 45 f4 64          	imul   $0x64,-0xc(%ebp),%eax
416ed6:	8b 53 2c             	mov    0x2c(%ebx),%edx
416ed9:	4a                   	dec    %edx
416eda:	8b ca                	mov    %edx,%ecx
416edc:	99                   	cltd
416edd:	f7 f9                	idiv   %ecx
416edf:	89 45 dc             	mov    %eax,-0x24(%ebp)
416ee2:	8b 43 20             	mov    0x20(%ebx),%eax
416ee5:	0f b6 40 20          	movzbl 0x20(%eax),%eax
416ee9:	8b 04 85 60 86 42 00 	mov    0x428660(,%eax,4),%eax
416ef0:	50                   	push   %eax
416ef1:	8b 45 dc             	mov    -0x24(%ebp),%eax
416ef4:	50                   	push   %eax
416ef5:	8b 7b 20             	mov    0x20(%ebx),%edi
416ef8:	33 c9                	xor    %ecx,%ecx
416efa:	8a 4d fb             	mov    -0x5(%ebp),%cl
416efd:	8b 53 20             	mov    0x20(%ebx),%edx
416f00:	8b 47 1c             	mov    0x1c(%edi),%eax
416f03:	ff 57 18             	call   *0x18(%edi)
416f06:	84 c0                	test   %al,%al
416f08:	0f 84 46 01 00 00    	je     0x417054
416f0e:	8b 43 34             	mov    0x34(%ebx),%eax
416f11:	40                   	inc    %eax
416f12:	50                   	push   %eax
416f13:	8d 43 60             	lea    0x60(%ebx),%eax
416f16:	50                   	push   %eax
416f17:	8b 45 08             	mov    0x8(%ebp),%eax
416f1a:	50                   	push   %eax
416f1b:	33 c0                	xor    %eax,%eax
416f1d:	8a 43 5c             	mov    0x5c(%ebx),%al
416f20:	8b 4c 83 54          	mov    0x54(%ebx,%eax,4),%ecx
416f24:	8b 55 fc             	mov    -0x4(%ebp),%edx
416f27:	8b c3                	mov    %ebx,%eax
416f29:	e8 f2 f3 ff ff       	call   0x416320
416f2e:	85 c0                	test   %eax,%eax
416f30:	0f 84 1e 01 00 00    	je     0x417054
416f36:	8b c3                	mov    %ebx,%eax
416f38:	e8 d3 08 00 00       	call   0x417810
416f3d:	8b 43 2c             	mov    0x2c(%ebx),%eax
416f40:	3b 45 f0             	cmp    -0x10(%ebp),%eax
416f43:	0f 8e bd 00 00 00    	jle    0x417006
416f49:	8b 43 20             	mov    0x20(%ebx),%eax
416f4c:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
416f51:	74 47                	je     0x416f9a
416f53:	8b 43 20             	mov    0x20(%ebx),%eax
416f56:	e8 1d 23 00 00       	call   0x419278
416f5b:	89 45 d8             	mov    %eax,-0x28(%ebp)
416f5e:	8b 43 20             	mov    0x20(%ebx),%eax
416f61:	e8 ee 22 00 00       	call   0x419254
416f66:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416f69:	c6 45 d3 00          	movb   $0x0,-0x2d(%ebp)
416f6d:	8d 45 d8             	lea    -0x28(%ebp),%eax
416f70:	50                   	push   %eax
416f71:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416f74:	50                   	push   %eax
416f75:	8d 45 e8             	lea    -0x18(%ebp),%eax
416f78:	50                   	push   %eax
416f79:	8d 45 ec             	lea    -0x14(%ebp),%eax
416f7c:	50                   	push   %eax
416f7d:	8d 45 d3             	lea    -0x2d(%ebp),%eax
416f80:	50                   	push   %eax
416f81:	8b 7b 20             	mov    0x20(%ebx),%edi
416f84:	8b 53 20             	mov    0x20(%ebx),%edx
416f87:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416f8a:	8b 47 2c             	mov    0x2c(%edi),%eax
416f8d:	ff 57 28             	call   *0x28(%edi)
416f90:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
416f94:	0f 85 d5 00 00 00    	jne    0x41706f
416f9a:	8b 45 e8             	mov    -0x18(%ebp),%eax
416f9d:	50                   	push   %eax
416f9e:	8b 45 ec             	mov    -0x14(%ebp),%eax
416fa1:	50                   	push   %eax
416fa2:	33 c0                	xor    %eax,%eax
416fa4:	8a 43 5c             	mov    0x5c(%ebx),%al
416fa7:	8b 44 83 54          	mov    0x54(%ebx,%eax,4),%eax
416fab:	8d 48 01             	lea    0x1(%eax),%ecx
416fae:	8a 55 fb             	mov    -0x5(%ebp),%dl
416fb1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416fb4:	ff 55 e0             	call   *-0x20(%ebp)
416fb7:	8b 43 20             	mov    0x20(%ebx),%eax
416fba:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
416fbf:	74 45                	je     0x417006
416fc1:	8b 43 20             	mov    0x20(%ebx),%eax
416fc4:	e8 af 22 00 00       	call   0x419278
416fc9:	f7 d8                	neg    %eax
416fcb:	89 45 d8             	mov    %eax,-0x28(%ebp)
416fce:	8b 43 20             	mov    0x20(%ebx),%eax
416fd1:	e8 7e 22 00 00       	call   0x419254
416fd6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416fd9:	c6 45 d3 00          	movb   $0x0,-0x2d(%ebp)
416fdd:	8d 45 d8             	lea    -0x28(%ebp),%eax
416fe0:	50                   	push   %eax
416fe1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416fe4:	50                   	push   %eax
416fe5:	8d 45 e8             	lea    -0x18(%ebp),%eax
416fe8:	50                   	push   %eax
416fe9:	8d 45 ec             	lea    -0x14(%ebp),%eax
416fec:	50                   	push   %eax
416fed:	8d 45 d3             	lea    -0x2d(%ebp),%eax
416ff0:	50                   	push   %eax
416ff1:	8b 7b 20             	mov    0x20(%ebx),%edi
416ff4:	8b 53 20             	mov    0x20(%ebx),%edx
416ff7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416ffa:	8b 47 2c             	mov    0x2c(%edi),%eax
416ffd:	ff 57 28             	call   *0x28(%edi)
417000:	80 7d d3 00          	cmpb   $0x0,-0x2d(%ebp)
417004:	75 69                	jne    0x41706f
417006:	8a 43 5c             	mov    0x5c(%ebx),%al
417009:	34 01                	xor    $0x1,%al
41700b:	88 43 5c             	mov    %al,0x5c(%ebx)
41700e:	8b 06                	mov    (%esi),%eax
417010:	01 45 f4             	add    %eax,-0xc(%ebp)
417013:	8b 4b 30             	mov    0x30(%ebx),%ecx
417016:	8b 06                	mov    (%esi),%eax
417018:	d3 e8                	shr    %cl,%eax
41701a:	01 45 f0             	add    %eax,-0x10(%ebp)
41701d:	8b c3                	mov    %ebx,%eax
41701f:	e8 d0 e9 ff ff       	call   0x4159f4
417024:	8b 80 5c 04 00 00    	mov    0x45c(%eax),%eax
41702a:	8b 4b 30             	mov    0x30(%ebx),%ecx
41702d:	8b 16                	mov    (%esi),%edx
41702f:	d3 ea                	shr    %cl,%edx
417031:	f7 ea                	imul   %edx
417033:	29 45 e8             	sub    %eax,-0x18(%ebp)
417036:	8b 4b 30             	mov    0x30(%ebx),%ecx
417039:	8b 06                	mov    (%esi),%eax
41703b:	d3 e8                	shr    %cl,%eax
41703d:	f7 6b 28             	imull  0x28(%ebx)
417040:	01 45 ec             	add    %eax,-0x14(%ebp)
417043:	8b 43 20             	mov    0x20(%ebx),%eax
417046:	e8 09 22 00 00       	call   0x419254
41704b:	3b 45 f4             	cmp    -0xc(%ebp),%eax
41704e:	0f 8f 08 fe ff ff    	jg     0x416e5c
417054:	fe 45 fb             	incb   -0x5(%ebp)
417057:	83 c6 04             	add    $0x4,%esi
41705a:	83 45 c4 04          	addl   $0x4,-0x3c(%ebp)
41705e:	83 45 c8 04          	addl   $0x4,-0x38(%ebp)
417062:	83 45 cc 04          	addl   $0x4,-0x34(%ebp)
417066:	fe 4d d2             	decb   -0x2e(%ebp)
417069:	0f 85 d5 fc ff ff    	jne    0x416d44
41706f:	5f                   	pop    %edi
417070:	5e                   	pop    %esi
417071:	5b                   	pop    %ebx
417072:	8b e5                	mov    %ebp,%esp
417074:	5d                   	pop    %ebp
417075:	c2 08 00             	ret    $0x8
417078:	55                   	push   %ebp
417079:	8b ec                	mov    %esp,%ebp
41707b:	83 c4 f0             	add    $0xfffffff0,%esp
41707e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
417081:	89 55 fc             	mov    %edx,-0x4(%ebp)
417084:	8b 50 28             	mov    0x28(%eax),%edx
417087:	89 55 f4             	mov    %edx,-0xc(%ebp)
41708a:	8b 48 30             	mov    0x30(%eax),%ecx
41708d:	b8 03 00 00 00       	mov    $0x3,%eax
417092:	d3 e0                	shl    %cl,%eax
417094:	83 e8 04             	sub    $0x4,%eax
417097:	89 45 f0             	mov    %eax,-0x10(%ebp)
41709a:	56                   	push   %esi
41709b:	57                   	push   %edi
41709c:	55                   	push   %ebp
41709d:	8b 75 fc             	mov    -0x4(%ebp),%esi
4170a0:	8b 7d f8             	mov    -0x8(%ebp),%edi
4170a3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4170a6:	8b 6d f0             	mov    -0x10(%ebp),%ebp
4170a9:	ad                   	lods   %ds:(%esi),%eax
4170aa:	0f c8                	bswap  %eax
4170ac:	01 ee                	add    %ebp,%esi
4170ae:	c1 e8 08             	shr    $0x8,%eax
4170b1:	66 ab                	stos   %ax,%es:(%edi)
4170b3:	c1 e8 10             	shr    $0x10,%eax
4170b6:	aa                   	stos   %al,%es:(%edi)
4170b7:	e2 f0                	loop   0x4170a9
4170b9:	5d                   	pop    %ebp
4170ba:	5f                   	pop    %edi
4170bb:	5e                   	pop    %esi
4170bc:	8b e5                	mov    %ebp,%esp
4170be:	5d                   	pop    %ebp
4170bf:	c2 04 00             	ret    $0x4
4170c2:	8b c0                	mov    %eax,%eax
4170c4:	55                   	push   %ebp
4170c5:	8b ec                	mov    %esp,%ebp
4170c7:	83 c4 ec             	add    $0xffffffec,%esp
4170ca:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4170cd:	89 55 fc             	mov    %edx,-0x4(%ebp)
4170d0:	8b 50 28             	mov    0x28(%eax),%edx
4170d3:	89 55 f0             	mov    %edx,-0x10(%ebp)
4170d6:	8b 50 20             	mov    0x20(%eax),%edx
4170d9:	83 c2 32             	add    $0x32,%edx
4170dc:	89 55 f4             	mov    %edx,-0xc(%ebp)
4170df:	8b 48 30             	mov    0x30(%eax),%ecx
4170e2:	b8 06 00 00 00       	mov    $0x6,%eax
4170e7:	d3 e0                	shl    %cl,%eax
4170e9:	83 e8 05             	sub    $0x5,%eax
4170ec:	89 45 ec             	mov    %eax,-0x14(%ebp)
4170ef:	56                   	push   %esi
4170f0:	57                   	push   %edi
4170f1:	53                   	push   %ebx
4170f2:	55                   	push   %ebp
4170f3:	8b 75 fc             	mov    -0x4(%ebp),%esi
4170f6:	8b 7d f8             	mov    -0x8(%ebp),%edi
4170f9:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4170fc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4170ff:	8b 6d ec             	mov    -0x14(%ebp),%ebp
417102:	31 c0                	xor    %eax,%eax
417104:	ac                   	lods   %ds:(%esi),%al
417105:	8a 34 18             	mov    (%eax,%ebx,1),%dh
417108:	46                   	inc    %esi
417109:	0f ca                	bswap  %edx
41710b:	ac                   	lods   %ds:(%esi),%al
41710c:	8a 34 18             	mov    (%eax,%ebx,1),%dh
41710f:	46                   	inc    %esi
417110:	ac                   	lods   %ds:(%esi),%al
417111:	8a 14 18             	mov    (%eax,%ebx,1),%dl
417114:	01 ee                	add    %ebp,%esi
417116:	92                   	xchg   %eax,%edx
417117:	66 ab                	stos   %ax,%es:(%edi)
417119:	c1 e8 10             	shr    $0x10,%eax
41711c:	aa                   	stos   %al,%es:(%edi)
41711d:	92                   	xchg   %eax,%edx
41711e:	e2 e4                	loop   0x417104
417120:	5d                   	pop    %ebp
417121:	5b                   	pop    %ebx
417122:	5f                   	pop    %edi
417123:	5e                   	pop    %esi
417124:	8b e5                	mov    %ebp,%esp
417126:	5d                   	pop    %ebp
417127:	c2 04 00             	ret    $0x4
41712a:	8b c0                	mov    %eax,%eax
41712c:	55                   	push   %ebp
41712d:	8b ec                	mov    %esp,%ebp
41712f:	83 c4 f0             	add    $0xfffffff0,%esp
417132:	53                   	push   %ebx
417133:	89 4d f8             	mov    %ecx,-0x8(%ebp)
417136:	89 55 fc             	mov    %edx,-0x4(%ebp)
417139:	8b d8                	mov    %eax,%ebx
41713b:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
41713f:	75 10                	jne    0x417151
417141:	8b 4b 34             	mov    0x34(%ebx),%ecx
417144:	8b 55 f8             	mov    -0x8(%ebp),%edx
417147:	8b 45 fc             	mov    -0x4(%ebp),%eax
41714a:	e8 f5 b7 fe ff       	call   0x402944
41714f:	eb 3c                	jmp    0x41718d
417151:	8b c3                	mov    %ebx,%eax
417153:	e8 9c e8 ff ff       	call   0x4159f4
417158:	0f b6 80 70 04 00 00 	movzbl 0x470(%eax),%eax
41715f:	c1 e8 03             	shr    $0x3,%eax
417162:	f7 6b 28             	imull  0x28(%ebx)
417165:	89 45 f4             	mov    %eax,-0xc(%ebp)
417168:	8b 4b 30             	mov    0x30(%ebx),%ecx
41716b:	b8 01 00 00 00       	mov    $0x1,%eax
417170:	d3 e0                	shl    %cl,%eax
417172:	48                   	dec    %eax
417173:	89 45 f0             	mov    %eax,-0x10(%ebp)
417176:	56                   	push   %esi
417177:	57                   	push   %edi
417178:	55                   	push   %ebp
417179:	8b 75 fc             	mov    -0x4(%ebp),%esi
41717c:	8b 7d f8             	mov    -0x8(%ebp),%edi
41717f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417182:	8b 6d f0             	mov    -0x10(%ebp),%ebp
417185:	a4                   	movsb  %ds:(%esi),%es:(%edi)
417186:	01 ee                	add    %ebp,%esi
417188:	e2 fb                	loop   0x417185
41718a:	5d                   	pop    %ebp
41718b:	5f                   	pop    %edi
41718c:	5e                   	pop    %esi
41718d:	5b                   	pop    %ebx
41718e:	8b e5                	mov    %ebp,%esp
417190:	5d                   	pop    %ebp
417191:	c2 04 00             	ret    $0x4
417194:	55                   	push   %ebp
417195:	8b ec                	mov    %esp,%ebp
417197:	51                   	push   %ecx
417198:	56                   	push   %esi
417199:	57                   	push   %edi
41719a:	8b f1                	mov    %ecx,%esi
41719c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41719f:	8b 7d fc             	mov    -0x4(%ebp),%edi
4171a2:	8b 7f 34             	mov    0x34(%edi),%edi
4171a5:	85 ff                	test   %edi,%edi
4171a7:	7e 39                	jle    0x4171e2
4171a9:	8a 02                	mov    (%edx),%al