425e77:	83 c4 ac             	add    $0xffffffac,%esp
425e7a:	8b f1                	mov    %ecx,%esi
425e7c:	8b da                	mov    %edx,%ebx
425e7e:	33 d2                	xor    %edx,%edx
425e80:	89 54 24 18          	mov    %edx,0x18(%esp)
425e84:	54                   	push   %esp
425e85:	6a 54                	push   $0x54
425e87:	50                   	push   %eax
425e88:	e8 17 07 fe ff       	call   0x4065a4
425e8d:	85 c0                	test   %eax,%eax
425e8f:	75 07                	jne    0x425e98
425e91:	e8 5e f1 ff ff       	call   0x424ff4
425e96:	eb 3f                	jmp    0x425ed7
425e98:	83 f8 40             	cmp    $0x40,%eax
425e9b:	7c 18                	jl     0x425eb5
425e9d:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
425ea2:	72 11                	jb     0x425eb5
425ea4:	56                   	push   %esi
425ea5:	8b fb                	mov    %ebx,%edi
425ea7:	8d 74 24 1c          	lea    0x1c(%esp),%esi
425eab:	b9 0a 00 00 00       	mov    $0xa,%ecx
425eb0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
425eb2:	5e                   	pop    %esi
425eb3:	eb 22                	jmp    0x425ed7
425eb5:	8b c3                	mov    %ebx,%eax
425eb7:	33 c9                	xor    %ecx,%ecx
425eb9:	ba 28 00 00 00       	mov    $0x28,%edx
425ebe:	e8 09 ce fd ff       	call   0x402ccc
425ec3:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
425ec9:	8b 44 24 04          	mov    0x4(%esp),%eax
425ecd:	89 43 04             	mov    %eax,0x4(%ebx)
425ed0:	8b 44 24 08          	mov    0x8(%esp),%eax
425ed4:	89 43 08             	mov    %eax,0x8(%ebx)
425ed7:	8b c6                	mov    %esi,%eax
425ed9:	83 e8 02             	sub    $0x2,%eax
425edc:	74 0f                	je     0x425eed
425ede:	48                   	dec    %eax
425edf:	83 e8 0e             	sub    $0xe,%eax
425ee2:	72 11                	jb     0x425ef5
425ee4:	2d f0 00 00 00       	sub    $0xf0,%eax
425ee9:	72 15                	jb     0x425f00
425eeb:	eb 1e                	jmp    0x425f0b
425eed:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
425ef3:	eb 24                	jmp    0x425f19
425ef5:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
425efb:	89 73 20             	mov    %esi,0x20(%ebx)
425efe:	eb 19                	jmp    0x425f19
425f00:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
425f06:	89 73 20             	mov    %esi,0x20(%ebx)
425f09:	eb 0e                	jmp    0x425f19
425f0b:	66 8b 44 24 12       	mov    0x12(%esp),%ax
425f10:	66 f7 6c 24 10       	imulw  0x10(%esp)
425f15:	66 89 43 0e          	mov    %ax,0xe(%ebx)
425f19:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
425f1f:	8b 43 20             	mov    0x20(%ebx),%eax
425f22:	3b 43 24             	cmp    0x24(%ebx),%eax
425f25:	73 03                	jae    0x425f2a
425f27:	89 43 24             	mov    %eax,0x24(%ebx)
425f2a:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
425f2e:	75 21                	jne    0x425f51
425f30:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
425f34:	8b 43 04             	mov    0x4(%ebx),%eax
425f37:	b9 20 00 00 00       	mov    $0x20,%ecx
425f3c:	e8 63 f3 ff ff       	call   0x4252a4
425f41:	8b c8                	mov    %eax,%ecx
425f43:	8b 43 08             	mov    0x8(%ebx),%eax
425f46:	99                   	cltd
425f47:	33 c2                	xor    %edx,%eax
425f49:	2b c2                	sub    %edx,%eax
425f4b:	0f af c8             	imul   %eax,%ecx
425f4e:	89 4b 14             	mov    %ecx,0x14(%ebx)
425f51:	83 c4 54             	add    $0x54,%esp
425f54:	5f                   	pop    %edi
425f55:	5e                   	pop    %esi
425f56:	5b                   	pop    %ebx
425f57:	c3                   	ret
425f58:	55                   	push   %ebp
425f59:	8b ec                	mov    %esp,%ebp
425f5b:	83 c4 d8             	add    $0xffffffd8,%esp
425f5e:	53                   	push   %ebx
425f5f:	56                   	push   %esi
425f60:	8b f1                	mov    %ecx,%esi
425f62:	8b da                	mov    %edx,%ebx
425f64:	8d 55 d8             	lea    -0x28(%ebp),%edx
425f67:	8b 4d 08             	mov    0x8(%ebp),%ecx
425f6a:	e8 05 ff ff ff       	call   0x425e74
425f6f:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
425f73:	66 83 f8 08          	cmp    $0x8,%ax
425f77:	76 11                	jbe    0x425f8a
425f79:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
425f7f:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
425f83:	74 29                	je     0x425fae
425f85:	83 03 0c             	addl   $0xc,(%ebx)
425f88:	eb 24                	jmp    0x425fae
425f8a:	8b 55 f8             	mov    -0x8(%ebp),%edx
425f8d:	85 d2                	test   %edx,%edx
425f8f:	75 13                	jne    0x425fa4
425f91:	8b c8                	mov    %eax,%ecx
425f93:	b8 01 00 00 00       	mov    $0x1,%eax
425f98:	d3 e0                	shl    %cl,%eax
425f9a:	c1 e0 02             	shl    $0x2,%eax
425f9d:	83 c0 28             	add    $0x28,%eax
425fa0:	89 03                	mov    %eax,(%ebx)
425fa2:	eb 0a                	jmp    0x425fae
425fa4:	8b c2                	mov    %edx,%eax
425fa6:	c1 e0 02             	shl    $0x2,%eax
425fa9:	83 c0 28             	add    $0x28,%eax
425fac:	89 03                	mov    %eax,(%ebx)
425fae:	8b 45 ec             	mov    -0x14(%ebp),%eax
425fb1:	89 06                	mov    %eax,(%esi)
425fb3:	5e                   	pop    %esi
425fb4:	5b                   	pop    %ebx
425fb5:	8b e5                	mov    %ebp,%esp
425fb7:	5d                   	pop    %ebp
425fb8:	c2 04 00             	ret    $0x4
425fbb:	90                   	nop
425fbc:	6a 00                	push   $0x0
425fbe:	e8 95 ff ff ff       	call   0x425f58
425fc3:	c3                   	ret
425fc4:	55                   	push   %ebp
425fc5:	8b ec                	mov    %esp,%ebp
425fc7:	83 c4 f4             	add    $0xfffffff4,%esp
425fca:	53                   	push   %ebx
425fcb:	56                   	push   %esi
425fcc:	57                   	push   %edi
425fcd:	8b d9                	mov    %ecx,%ebx
425fcf:	8b fa                	mov    %edx,%edi
425fd1:	8b f0                	mov    %eax,%esi
425fd3:	8b d3                	mov    %ebx,%edx
425fd5:	8b 4d 08             	mov    0x8(%ebp),%ecx
425fd8:	8b c6                	mov    %esi,%eax
425fda:	e8 95 fe ff ff       	call   0x425e74
425fdf:	33 c0                	xor    %eax,%eax
425fe1:	89 45 f8             	mov    %eax,-0x8(%ebp)
425fe4:	6a 00                	push   $0x0
425fe6:	e8 01 05 fe ff       	call   0x4064ec
425feb:	89 45 f4             	mov    %eax,-0xc(%ebp)
425fee:	33 c0                	xor    %eax,%eax
425ff0:	55                   	push   %ebp
425ff1:	68 61 60 42 00       	push   $0x426061
425ff6:	64 ff 30             	push   %fs:(%eax)
425ff9:	64 89 20             	mov    %esp,%fs:(%eax)
425ffc:	85 ff                	test   %edi,%edi
425ffe:	74 18                	je     0x426018
426000:	6a 00                	push   $0x0
426002:	57                   	push   %edi
426003:	8b 45 f4             	mov    -0xc(%ebp),%eax
426006:	50                   	push   %eax
426007:	e8 50 06 fe ff       	call   0x40665c
42600c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42600f:	8b 45 f4             	mov    -0xc(%ebp),%eax
426012:	50                   	push   %eax
426013:	e8 14 06 fe ff       	call   0x40662c
426018:	6a 00                	push   $0x0
42601a:	53                   	push   %ebx
42601b:	8b 45 0c             	mov    0xc(%ebp),%eax
42601e:	50                   	push   %eax
42601f:	8b 43 08             	mov    0x8(%ebx),%eax
426022:	50                   	push   %eax
426023:	6a 00                	push   $0x0
426025:	56                   	push   %esi
426026:	8b 45 f4             	mov    -0xc(%ebp),%eax
426029:	50                   	push   %eax
42602a:	e8 4d 05 fe ff       	call   0x40657c
42602f:	85 c0                	test   %eax,%eax
426031:	0f 95 45 ff          	setne  -0x1(%ebp)
426035:	33 c0                	xor    %eax,%eax
426037:	5a                   	pop    %edx
426038:	59                   	pop    %ecx
426039:	59                   	pop    %ecx
42603a:	64 89 10             	mov    %edx,%fs:(%eax)
42603d:	68 68 60 42 00       	push   $0x426068
426042:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
426046:	74 0f                	je     0x426057
426048:	6a 00                	push   $0x0
42604a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42604d:	50                   	push   %eax
42604e:	8b 45 f4             	mov    -0xc(%ebp),%eax
426051:	50                   	push   %eax
426052:	e8 05 06 fe ff       	call   0x40665c
426057:	8b 45 f4             	mov    -0xc(%ebp),%eax
42605a:	50                   	push   %eax
42605b:	e8 cc 04 fe ff       	call   0x40652c
426060:	c3                   	ret
426061:	e9 ee d9 fd ff       	jmp    0x403a54
426066:	eb da                	jmp    0x426042
426068:	8a 45 ff             	mov    -0x1(%ebp),%al
42606b:	5f                   	pop    %edi
42606c:	5e                   	pop    %esi
42606d:	5b                   	pop    %ebx
42606e:	8b e5                	mov    %ebp,%esp
426070:	5d                   	pop    %ebp
426071:	c2 08 00             	ret    $0x8
426074:	55                   	push   %ebp
426075:	8b ec                	mov    %esp,%ebp
426077:	53                   	push   %ebx
426078:	8b 5d 08             	mov    0x8(%ebp),%ebx
42607b:	53                   	push   %ebx
42607c:	6a 00                	push   $0x0
42607e:	e8 41 ff ff ff       	call   0x425fc4
426083:	5b                   	pop    %ebx
426084:	5d                   	pop    %ebp
426085:	c2 04 00             	ret    $0x4
426088:	c3                   	ret
426089:	8d 40 00             	lea    0x0(%eax),%eax
42608c:	85 c0                	test   %eax,%eax
42608e:	75 05                	jne    0x426095
426090:	e8 f3 ff ff ff       	call   0x426088
426095:	c3                   	ret
426096:	8b c0                	mov    %eax,%eax
426098:	55                   	push   %ebp
426099:	8b ec                	mov    %esp,%ebp
42609b:	83 c4 ac             	add    $0xffffffac,%esp
42609e:	53                   	push   %ebx
42609f:	56                   	push   %esi
4260a0:	57                   	push   %edi
4260a1:	88 4d ff             	mov    %cl,-0x1(%ebp)
4260a4:	8b f2                	mov    %edx,%esi
4260a6:	8b d8                	mov    %eax,%ebx
4260a8:	8d 45 d6             	lea    -0x2a(%ebp),%eax
4260ab:	33 c9                	xor    %ecx,%ecx
4260ad:	ba 06 00 00 00       	mov    $0x6,%edx
4260b2:	e8 15 cc fd ff       	call   0x402ccc
4260b7:	8d 45 ac             	lea    -0x54(%ebp),%eax
4260ba:	33 c9                	xor    %ecx,%ecx
4260bc:	ba 10 00 00 00       	mov    $0x10,%edx
4260c1:	e8 06 cc fd ff       	call   0x402ccc
4260c6:	8d 45 bc             	lea    -0x44(%ebp),%eax
4260c9:	50                   	push   %eax
4260ca:	56                   	push   %esi
4260cb:	e8 ac 07 fe ff       	call   0x40687c
4260d0:	e8 b7 ff ff ff       	call   0x42608c
4260d5:	33 d2                	xor    %edx,%edx
4260d7:	55                   	push   %ebp
4260d8:	68 86 62 42 00       	push   $0x426286
4260dd:	64 ff 32             	push   %fs:(%edx)
4260e0:	64 89 22             	mov    %esp,%fs:(%edx)
4260e3:	6a 02                	push   $0x2
4260e5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4260e8:	8d 55 f8             	lea    -0x8(%ebp),%edx
4260eb:	8b 45 c8             	mov    -0x38(%ebp),%eax
4260ee:	e8 65 fe ff ff       	call   0x425f58
4260f3:	6a 10                	push   $0x10
4260f5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4260f8:	8d 55 f4             	lea    -0xc(%ebp),%edx
4260fb:	8b 45 cc             	mov    -0x34(%ebp),%eax
4260fe:	e8 55 fe ff ff       	call   0x425f58
426103:	33 c0                	xor    %eax,%eax
426105:	89 45 e8             	mov    %eax,-0x18(%ebp)
426108:	33 c0                	xor    %eax,%eax
42610a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42610d:	33 c0                	xor    %eax,%eax
42610f:	89 45 e0             	mov    %eax,-0x20(%ebp)
426112:	33 c0                	xor    %eax,%eax
426114:	89 45 dc             	mov    %eax,-0x24(%ebp)
426117:	33 d2                	xor    %edx,%edx
426119:	55                   	push   %ebp
42611a:	68 5f 62 42 00       	push   $0x42625f
42611f:	64 ff 32             	push   %fs:(%edx)
426122:	64 89 22             	mov    %esp,%fs:(%edx)
426125:	8b 45 f8             	mov    -0x8(%ebp),%eax
426128:	e8 a7 1c fe ff       	call   0x407dd4
42612d:	89 45 e8             	mov    %eax,-0x18(%ebp)
426130:	8b 45 f0             	mov    -0x10(%ebp),%eax
426133:	e8 9c 1c fe ff       	call   0x407dd4
426138:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42613b:	8b 45 f4             	mov    -0xc(%ebp),%eax
42613e:	e8 91 1c fe ff       	call   0x407dd4
426143:	89 45 e0             	mov    %eax,-0x20(%ebp)
426146:	8b 45 ec             	mov    -0x14(%ebp),%eax
426149:	e8 86 1c fe ff       	call   0x407dd4
42614e:	89 45 dc             	mov    %eax,-0x24(%ebp)
426151:	8b 45 e4             	mov    -0x1c(%ebp),%eax
426154:	50                   	push   %eax
426155:	6a 02                	push   $0x2
426157:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42615a:	33 d2                	xor    %edx,%edx
42615c:	8b 45 c8             	mov    -0x38(%ebp),%eax
42615f:	e8 60 fe ff ff       	call   0x425fc4
426164:	8b 45 dc             	mov    -0x24(%ebp),%eax
426167:	50                   	push   %eax
426168:	6a 10                	push   $0x10
42616a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42616d:	33 d2                	xor    %edx,%edx
42616f:	8b 45 cc             	mov    -0x34(%ebp),%eax
426172:	e8 4d fe ff ff       	call   0x425fc4
426177:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42617b:	74 1e                	je     0x42619b
42617d:	8b 45 f4             	mov    -0xc(%ebp),%eax
426180:	83 c0 16             	add    $0x16,%eax
426183:	03 45 ec             	add    -0x14(%ebp),%eax
426186:	03 45 f0             	add    -0x10(%ebp),%eax
426189:	89 45 d0             	mov    %eax,-0x30(%ebp)
42618c:	8d 55 d0             	lea    -0x30(%ebp),%edx
42618f:	b9 04 00 00 00       	mov    $0x4,%ecx
426194:	8b c3                	mov    %ebx,%eax
426196:	8b 30                	mov    (%eax),%esi
426198:	ff 56 10             	call   *0x10(%esi)
42619b:	66 c7 45 d8 01 00    	movw   $0x1,-0x28(%ebp)
4261a1:	66 c7 45 da 01 00    	movw   $0x1,-0x26(%ebp)
4261a7:	8d 55 d6             	lea    -0x2a(%ebp),%edx
4261aa:	b9 06 00 00 00       	mov    $0x6,%ecx
4261af:	8b c3                	mov    %ebx,%eax
4261b1:	8b 30                	mov    (%eax),%esi
4261b3:	ff 56 10             	call   *0x10(%esi)
4261b6:	8b 75 e0             	mov    -0x20(%ebp),%esi
4261b9:	8b c6                	mov    %esi,%eax
4261bb:	8a 50 04             	mov    0x4(%eax),%dl
4261be:	88 55 ac             	mov    %dl,-0x54(%ebp)
4261c1:	8a 50 08             	mov    0x8(%eax),%dl
4261c4:	88 55 ad             	mov    %dl,-0x53(%ebp)
4261c7:	66 8b 50 0c          	mov    0xc(%eax),%dx
4261cb:	66 0f af 50 0e       	imul   0xe(%eax),%dx
4261d0:	66 89 55 ae          	mov    %dx,-0x52(%ebp)
4261d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4261d7:	03 45 ec             	add    -0x14(%ebp),%eax
4261da:	03 45 f0             	add    -0x10(%ebp),%eax
4261dd:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4261e0:	c7 45 b8 16 00 00 00 	movl   $0x16,-0x48(%ebp)
4261e7:	8d 55 ac             	lea    -0x54(%ebp),%edx
4261ea:	b9 10 00 00 00       	mov    $0x10,%ecx
4261ef:	8b c3                	mov    %ebx,%eax
4261f1:	8b 38                	mov    (%eax),%edi
4261f3:	ff 57 10             	call   *0x10(%edi)
4261f6:	8b c6                	mov    %esi,%eax
4261f8:	8b 50 08             	mov    0x8(%eax),%edx
4261fb:	01 50 08             	add    %edx,0x8(%eax)
4261fe:	8b 55 e0             	mov    -0x20(%ebp),%edx
426201:	8b 4d f4             	mov    -0xc(%ebp),%ecx
426204:	8b c3                	mov    %ebx,%eax
426206:	8b 30                	mov    (%eax),%esi
426208:	ff 56 10             	call   *0x10(%esi)
42620b:	8b 55 dc             	mov    -0x24(%ebp),%edx
42620e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
426211:	8b c3                	mov    %ebx,%eax
426213:	8b 30                	mov    (%eax),%esi
426215:	ff 56 10             	call   *0x10(%esi)
426218:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42621b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42621e:	8b c3                	mov    %ebx,%eax
426220:	8b 18                	mov    (%eax),%ebx
426222:	ff 53 10             	call   *0x10(%ebx)
426225:	33 c0                	xor    %eax,%eax
426227:	5a                   	pop    %edx
426228:	59                   	pop    %ecx
426229:	59                   	pop    %ecx
42622a:	64 89 10             	mov    %edx,%fs:(%eax)
42622d:	68 66 62 42 00       	push   $0x426266
426232:	8b 55 f4             	mov    -0xc(%ebp),%edx
426235:	8b 45 e0             	mov    -0x20(%ebp),%eax