469e99:	ff 70 20             	push   0x20(%eax)
469e9c:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
469ea2:	8b 4f 08             	mov    0x8(%edi),%ecx
469ea5:	8d 44 24 0c          	lea    0xc(%esp),%eax
469ea9:	50                   	push   %eax
469eaa:	e8 e1 a2 fc ff       	call   0x434190
469eaf:	8b 44 24 0c          	mov    0xc(%esp),%eax
469eb3:	89 07                	mov    %eax,(%edi)
469eb5:	8b 44 24 10          	mov    0x10(%esp),%eax
469eb9:	89 47 04             	mov    %eax,0x4(%edi)
469ebc:	5f                   	pop    %edi
469ebd:	5e                   	pop    %esi
469ebe:	8b e5                	mov    %ebp,%esp
469ec0:	5d                   	pop    %ebp
469ec1:	c2 04 00             	ret    $0x4
469ec4:	8b ff                	mov    %edi,%edi
469ec6:	55                   	push   %ebp
469ec7:	8b ec                	mov    %esp,%ebp
469ec9:	83 ec 0c             	sub    $0xc,%esp
469ecc:	56                   	push   %esi
469ecd:	8b 75 08             	mov    0x8(%ebp),%esi
469ed0:	57                   	push   %edi
469ed1:	8b f9                	mov    %ecx,%edi
469ed3:	ff 76 04             	push   0x4(%esi)
469ed6:	ff 36                	push   (%esi)
469ed8:	8d 47 0c             	lea    0xc(%edi),%eax
469edb:	50                   	push   %eax
469edc:	ff 15 f8 7c 4a 00    	call   *0x4a7cf8
469ee2:	85 c0                	test   %eax,%eax
469ee4:	75 45                	jne    0x469f2b
469ee6:	8b 07                	mov    (%edi),%eax
469ee8:	89 45 f4             	mov    %eax,-0xc(%ebp)
469eeb:	8b 47 04             	mov    0x4(%edi),%eax
469eee:	8b 7f 08             	mov    0x8(%edi),%edi
469ef1:	8b cf                	mov    %edi,%ecx
469ef3:	89 45 f8             	mov    %eax,-0x8(%ebp)
469ef6:	8d 45 f4             	lea    -0xc(%ebp),%eax
469ef9:	50                   	push   %eax
469efa:	e8 38 a3 fc ff       	call   0x434237
469eff:	8b 06                	mov    (%esi),%eax
469f01:	8b 4e 04             	mov    0x4(%esi),%ecx
469f04:	39 45 f4             	cmp    %eax,-0xc(%ebp)
469f07:	75 05                	jne    0x469f0e
469f09:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
469f0c:	74 1d                	je     0x469f2b
469f0e:	8d 45 f4             	lea    -0xc(%ebp),%eax
469f11:	50                   	push   %eax
469f12:	ff 77 20             	push   0x20(%edi)
469f15:	ff 15 60 7d 4a 00    	call   *0x4a7d60
469f1b:	ff 75 f8             	push   -0x8(%ebp)
469f1e:	ff 75 f4             	push   -0xc(%ebp)
469f21:	ff 15 48 7e 4a 00    	call   *0x4a7e48
469f27:	b0 01                	mov    $0x1,%al
469f29:	eb 02                	jmp    0x469f2d
469f2b:	32 c0                	xor    %al,%al
469f2d:	5f                   	pop    %edi
469f2e:	5e                   	pop    %esi
469f2f:	c9                   	leave
469f30:	c2 04 00             	ret    $0x4
469f33:	8b ff                	mov    %edi,%edi
469f35:	55                   	push   %ebp
469f36:	8b ec                	mov    %esp,%ebp
469f38:	83 ec 10             	sub    $0x10,%esp
469f3b:	53                   	push   %ebx
469f3c:	56                   	push   %esi
469f3d:	8b 75 10             	mov    0x10(%ebp),%esi
469f40:	57                   	push   %edi
469f41:	8b 7d 0c             	mov    0xc(%ebp),%edi
469f44:	8b 06                	mov    (%esi),%eax
469f46:	8b 56 04             	mov    0x4(%esi),%edx
469f49:	8b 75 08             	mov    0x8(%ebp),%esi
469f4c:	8b 1f                	mov    (%edi),%ebx
469f4e:	03 c3                	add    %ebx,%eax
469f50:	03 57 04             	add    0x4(%edi),%edx
469f53:	89 45 f8             	mov    %eax,-0x8(%ebp)
469f56:	89 06                	mov    %eax,(%esi)
469f58:	8b c6                	mov    %esi,%eax
469f5a:	8b 75 10             	mov    0x10(%ebp),%esi
469f5d:	89 50 04             	mov    %edx,0x4(%eax)
469f60:	8b 41 0c             	mov    0xc(%ecx),%eax
469f63:	39 45 f8             	cmp    %eax,-0x8(%ebp)
469f66:	7e 08                	jle    0x469f70
469f68:	8b 41 14             	mov    0x14(%ecx),%eax
469f6b:	39 45 f8             	cmp    %eax,-0x8(%ebp)
469f6e:	7e 04                	jle    0x469f74
469f70:	2b c3                	sub    %ebx,%eax
469f72:	89 06                	mov    %eax,(%esi)
469f74:	8b 41 10             	mov    0x10(%ecx),%eax
469f77:	3b d0                	cmp    %eax,%edx
469f79:	7e 07                	jle    0x469f82
469f7b:	8b 41 18             	mov    0x18(%ecx),%eax
469f7e:	3b d0                	cmp    %eax,%edx
469f80:	7e 06                	jle    0x469f88
469f82:	2b 47 04             	sub    0x4(%edi),%eax
469f85:	89 46 04             	mov    %eax,0x4(%esi)
469f88:	8b 07                	mov    (%edi),%eax
469f8a:	89 45 f4             	mov    %eax,-0xc(%ebp)
469f8d:	8b 47 04             	mov    0x4(%edi),%eax
469f90:	89 45 f8             	mov    %eax,-0x8(%ebp)
469f93:	8d 45 f4             	lea    -0xc(%ebp),%eax
469f96:	50                   	push   %eax
469f97:	8b 41 08             	mov    0x8(%ecx),%eax
469f9a:	ff 70 20             	push   0x20(%eax)
469f9d:	ff 15 60 7d 4a 00    	call   *0x4a7d60
469fa3:	8b 16                	mov    (%esi),%edx
469fa5:	8b 45 08             	mov    0x8(%ebp),%eax
469fa8:	8b 76 04             	mov    0x4(%esi),%esi
469fab:	03 55 f4             	add    -0xc(%ebp),%edx
469fae:	8b 4d f8             	mov    -0x8(%ebp),%ecx
469fb1:	5f                   	pop    %edi
469fb2:	03 ce                	add    %esi,%ecx
469fb4:	89 10                	mov    %edx,(%eax)
469fb6:	5e                   	pop    %esi
469fb7:	89 48 04             	mov    %ecx,0x4(%eax)
469fba:	5b                   	pop    %ebx
469fbb:	c9                   	leave
469fbc:	c2 0c 00             	ret    $0xc
469fbf:	8b ff                	mov    %edi,%edi
469fc1:	55                   	push   %ebp
469fc2:	8b ec                	mov    %esp,%ebp
469fc4:	83 ec 38             	sub    $0x38,%esp
469fc7:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
469fcc:	33 c5                	xor    %ebp,%eax
469fce:	89 45 fc             	mov    %eax,-0x4(%ebp)
469fd1:	56                   	push   %esi
469fd2:	57                   	push   %edi
469fd3:	8b fa                	mov    %edx,%edi
469fd5:	8b f1                	mov    %ecx,%esi
469fd7:	e8 82 40 fd ff       	call   0x43e05e
469fdc:	84 c0                	test   %al,%al
469fde:	74 30                	je     0x46a010
469fe0:	6a 05                	push   $0x5
469fe2:	ff 15 f0 7d 4a 00    	call   *0x4a7df0
469fe8:	50                   	push   %eax
469fe9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
469fec:	ff 15 f8 76 4a 00    	call   *0x4a76f8
469ff2:	ff 75 d8             	push   -0x28(%ebp)
469ff5:	57                   	push   %edi
469ff6:	ff 76 04             	push   0x4(%esi)
469ff9:	ff 15 e4 7c 4a 00    	call   *0x4a7ce4
469fff:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46a002:	c7 45 d4 c0 15 40 00 	movl   $0x4015c0,-0x2c(%ebp)
46a009:	e8 c5 5d fb ff       	call   0x41fdd3
46a00e:	eb 58                	jmp    0x46a068
46a010:	8b 47 08             	mov    0x8(%edi),%eax
46a013:	33 c9                	xor    %ecx,%ecx
46a015:	2b 07                	sub    (%edi),%eax
46a017:	89 45 ec             	mov    %eax,-0x14(%ebp)
46a01a:	8b 47 0c             	mov    0xc(%edi),%eax
46a01d:	2b 47 04             	sub    0x4(%edi),%eax
46a020:	89 45 f0             	mov    %eax,-0x10(%ebp)
46a023:	33 c0                	xor    %eax,%eax
46a025:	40                   	inc    %eax
46a026:	89 4d dc             	mov    %ecx,-0x24(%ebp)
46a029:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46a02c:	c7 45 e4 00 c5 00 cf 	movl   $0xcf00c500,-0x1c(%ebp)
46a033:	c7 45 e8 00 df 00 ff 	movl   $0xff00df00,-0x18(%ebp)
46a03a:	c7 45 f4 00 dd 00 e6 	movl   $0xe600dd00,-0xc(%ebp)
46a041:	c7 45 f8 00 f3 00 ff 	movl   $0xff00f300,-0x8(%ebp)
46a048:	89 4d cc             	mov    %ecx,-0x34(%ebp)
46a04b:	89 45 d0             	mov    %eax,-0x30(%ebp)
46a04e:	85 f6                	test   %esi,%esi
46a050:	74 03                	je     0x46a055
46a052:	8b 4e 04             	mov    0x4(%esi),%ecx
46a055:	50                   	push   %eax
46a056:	50                   	push   %eax
46a057:	8d 45 cc             	lea    -0x34(%ebp),%eax
46a05a:	50                   	push   %eax
46a05b:	6a 02                	push   $0x2
46a05d:	8d 45 dc             	lea    -0x24(%ebp),%eax
46a060:	50                   	push   %eax
46a061:	51                   	push   %ecx
46a062:	ff 15 6c 70 4a 00    	call   *0x4a706c
46a068:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46a06b:	5f                   	pop    %edi
46a06c:	33 cd                	xor    %ebp,%ecx
46a06e:	5e                   	pop    %esi
46a06f:	e8 8c 5e 02 00       	call   0x48ff00
46a074:	c9                   	leave
46a075:	c3                   	ret
46a076:	8b ff                	mov    %edi,%edi
46a078:	55                   	push   %ebp
46a079:	8b ec                	mov    %esp,%ebp
46a07b:	81 ec b0 00 00 00    	sub    $0xb0,%esp
46a081:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46a086:	33 c5                	xor    %ebp,%eax
46a088:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a08b:	56                   	push   %esi
46a08c:	8b 75 08             	mov    0x8(%ebp),%esi
46a08f:	8b c2                	mov    %edx,%eax
46a091:	57                   	push   %edi
46a092:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
46a098:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
46a09e:	8b 48 04             	mov    0x4(%eax),%ecx
46a0a1:	8b 7e 04             	mov    0x4(%esi),%edi
46a0a4:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
46a0aa:	3b cf                	cmp    %edi,%ecx
46a0ac:	7d 08                	jge    0x46a0b6
46a0ae:	8b cf                	mov    %edi,%ecx
46a0b0:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
46a0b6:	3b 48 0c             	cmp    0xc(%eax),%ecx
46a0b9:	7d 19                	jge    0x46a0d4
46a0bb:	8b 56 0c             	mov    0xc(%esi),%edx
46a0be:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
46a0c4:	39 50 0c             	cmp    %edx,0xc(%eax)
46a0c7:	7f 13                	jg     0x46a0dc
46a0c9:	8b 50 0c             	mov    0xc(%eax),%edx
46a0cc:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
46a0d2:	eb 08                	jmp    0x46a0dc
46a0d4:	8b d1                	mov    %ecx,%edx
46a0d6:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
46a0dc:	3b ca                	cmp    %edx,%ecx
46a0de:	0f 8d d0 05 00 00    	jge    0x46a6b4
46a0e4:	8b 46 0c             	mov    0xc(%esi),%eax
46a0e7:	2b d7                	sub    %edi,%edx
46a0e9:	2b c7                	sub    %edi,%eax
46a0eb:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
46a0f1:	89 45 98             	mov    %eax,-0x68(%ebp)
46a0f4:	8b f1                	mov    %ecx,%esi
46a0f6:	8b 15 58 0e 41 00    	mov    0x410e58,%edx
46a0fc:	2b f7                	sub    %edi,%esi
46a0fe:	0f b6 3d 56 0e 41 00 	movzbl 0x410e56,%edi
46a105:	c1 ea 08             	shr    $0x8,%edx
46a108:	53                   	push   %ebx
46a109:	8a 1d 5a 0e 41 00    	mov    0x410e5a,%bl
46a10f:	0f b6 c3             	movzbl %bl,%eax
46a112:	2b f8                	sub    %eax,%edi
46a114:	89 55 88             	mov    %edx,-0x78(%ebp)
46a117:	a1 54 0e 41 00       	mov    0x410e54,%eax
46a11c:	c1 e8 08             	shr    $0x8,%eax
46a11f:	0f b6 c8             	movzbl %al,%ecx
46a122:	0f b6 c2             	movzbl %dl,%eax
46a125:	2b c8                	sub    %eax,%ecx
46a127:	8b c7                	mov    %edi,%eax
46a129:	0f af c6             	imul   %esi,%eax
46a12c:	99                   	cltd
46a12d:	f7 7d 98             	idivl  -0x68(%ebp)
46a130:	02 c3                	add    %bl,%al
46a132:	88 45 a1             	mov    %al,-0x5f(%ebp)
46a135:	8b c1                	mov    %ecx,%eax
46a137:	0f af c6             	imul   %esi,%eax
46a13a:	99                   	cltd
46a13b:	f7 7d 98             	idivl  -0x68(%ebp)
46a13e:	02 45 88             	add    -0x78(%ebp),%al
46a141:	88 45 a2             	mov    %al,-0x5e(%ebp)
46a144:	6b c6 14             	imul   $0x14,%esi,%eax
46a147:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
46a14d:	0f af fe             	imul   %esi,%edi
46a150:	0f af ce             	imul   %esi,%ecx
46a153:	99                   	cltd
46a154:	f7 7d 98             	idivl  -0x68(%ebp)
46a157:	2c 21                	sub    $0x21,%al
46a159:	88 45 a3             	mov    %al,-0x5d(%ebp)
46a15c:	8b c7                	mov    %edi,%eax
46a15e:	8b 7d 98             	mov    -0x68(%ebp),%edi
46a161:	99                   	cltd
46a162:	f7 ff                	idiv   %edi
46a164:	02 c3                	add    %bl,%al
46a166:	88 45 91             	mov    %al,-0x6f(%ebp)
46a169:	8b c1                	mov    %ecx,%eax
46a16b:	99                   	cltd
46a16c:	f7 ff                	idiv   %edi
46a16e:	8a 2d 63 0e 41 00    	mov    0x410e63,%ch
46a174:	02 45 88             	add    -0x78(%ebp),%al
46a177:	88 45 90             	mov    %al,-0x70(%ebp)
46a17a:	6b c6 14             	imul   $0x14,%esi,%eax
46a17d:	99                   	cltd
46a17e:	f7 ff                	idiv   %edi
46a180:	8a 35 5f 0e 41 00    	mov    0x410e5f,%dh
46a186:	8a d5                	mov    %ch,%dl
46a188:	2c 21                	sub    $0x21,%al
46a18a:	f6 d2                	not    %dl
46a18c:	88 45 8f             	mov    %al,-0x71(%ebp)
46a18f:	f6 d6                	not    %dh
46a191:	33 c0                	xor    %eax,%eax
46a193:	88 55 83             	mov    %dl,-0x7d(%ebp)
46a196:	8a c8                	mov    %al,%cl
46a198:	88 45 a0             	mov    %al,-0x60(%ebp)
46a19b:	88 45 9f             	mov    %al,-0x61(%ebp)
46a19e:	8a d8                	mov    %al,%bl
46a1a0:	88 45 97             	mov    %al,-0x69(%ebp)
46a1a3:	8a f8                	mov    %al,%bh
46a1a5:	88 45 96             	mov    %al,-0x6a(%ebp)
46a1a8:	88 45 95             	mov    %al,-0x6b(%ebp)
46a1ab:	88 45 9e             	mov    %al,-0x62(%ebp)
46a1ae:	88 45 94             	mov    %al,-0x6c(%ebp)
46a1b1:	88 45 93             	mov    %al,-0x6d(%ebp)
46a1b4:	88 45 92             	mov    %al,-0x6e(%ebp)
46a1b7:	8b 45 0c             	mov    0xc(%ebp),%eax
46a1ba:	88 75 8e             	mov    %dh,-0x72(%ebp)
46a1bd:	83 e8 00             	sub    $0x0,%eax
46a1c0:	0f 84 33 02 00 00    	je     0x46a3f9
46a1c6:	83 e8 01             	sub    $0x1,%eax
46a1c9:	0f 84 4e 01 00 00    	je     0x46a31d
46a1cf:	83 e8 01             	sub    $0x1,%eax
46a1d2:	0f 85 cd 03 00 00    	jne    0x46a5a5
46a1d8:	0f b6 45 a1          	movzbl -0x5f(%ebp),%eax
46a1dc:	89 45 88             	mov    %eax,-0x78(%ebp)
46a1df:	0f b6 45 a2          	movzbl -0x5e(%ebp),%eax
46a1e3:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
46a1e9:	0f b6 45 a3          	movzbl -0x5d(%ebp),%eax
46a1ed:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
46a1f3:	66 a1 5e 0e 41 00    	mov    0x410e5e,%ax
46a1f9:	0f b6 d8             	movzbl %al,%ebx
46a1fc:	a1 5c 0e 41 00       	mov    0x410e5c,%eax
46a201:	c1 e8 08             	shr    $0x8,%eax
46a204:	0f b6 c0             	movzbl %al,%eax
46a207:	0f b6 fd             	movzbl %ch,%edi
46a20a:	0f b6 0d 5f 0e 41 00 	movzbl 0x410e5f,%ecx
46a211:	0f af c1             	imul   %ecx,%eax
46a214:	0f b6 f2             	movzbl %dl,%esi
46a217:	0f b6 d6             	movzbl %dh,%edx
46a21a:	89 55 84             	mov    %edx,-0x7c(%ebp)
46a21d:	0f af d9             	imul   %ecx,%ebx
46a220:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
46a226:	0f b6 45 91          	movzbl -0x6f(%ebp),%eax
46a22a:	0f af c2             	imul   %edx,%eax
46a22d:	33 d2                	xor    %edx,%edx
46a22f:	c7 45 98 ff 00 00 00 	movl   $0xff,-0x68(%ebp)
46a236:	69 c9 de 00 00 00    	imul   $0xde,%ecx,%ecx
46a23c:	03 c3                	add    %ebx,%eax
46a23e:	f7 75 98             	divl   -0x68(%ebp)
46a241:	33 d2                	xor    %edx,%edx
46a243:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
46a249:	88 45 a3             	mov    %al,-0x5d(%ebp)
46a24c:	0f b6 45 90          	movzbl -0x70(%ebp),%eax
46a250:	0f af 45 84          	imul   -0x7c(%ebp),%eax
46a254:	03 85 74 ff ff ff    	add    -0x8c(%ebp),%eax
46a25a:	f7 75 98             	divl   -0x68(%ebp)
46a25d:	33 d2                	xor    %edx,%edx
46a25f:	88 45 a2             	mov    %al,-0x5e(%ebp)
46a262:	0f b6 45 8f          	movzbl -0x71(%ebp),%eax
46a266:	0f af 45 84          	imul   -0x7c(%ebp),%eax
46a26a:	03 c1                	add    %ecx,%eax
46a26c:	8b ce                	mov    %esi,%ecx
46a26e:	f7 75 98             	divl   -0x68(%ebp)
46a271:	0f af 4d 88          	imul   -0x78(%ebp),%ecx
46a275:	33 d2                	xor    %edx,%edx
46a277:	88 45 9e             	mov    %al,-0x62(%ebp)
46a27a:	66 a1 62 0e 41 00    	mov    0x410e62,%ax
46a280:	0f b6 c0             	movzbl %al,%eax
46a283:	0f af c7             	imul   %edi,%eax
46a286:	03 c1                	add    %ecx,%eax
46a288:	8b 0d 60 0e 41 00    	mov    0x410e60,%ecx
46a28e:	f7 75 98             	divl   -0x68(%ebp)
46a291:	c1 e9 08             	shr    $0x8,%ecx
46a294:	33 d2                	xor    %edx,%edx
46a296:	88 45 a1             	mov    %al,-0x5f(%ebp)
46a299:	0f b6 c1             	movzbl %cl,%eax
46a29c:	8b ce                	mov    %esi,%ecx