401be0:	8b c6                	mov    %esi,%eax
401be2:	5e                   	pop    %esi
401be3:	c2 04 00             	ret    $0x4
401be6:	c7 01 4c 27 41 00    	movl   $0x41274c,(%ecx)
401bec:	8b c1                	mov    %ecx,%eax
401bee:	c7 41 04 54 27 41 00 	movl   $0x412754,0x4(%ecx)
401bf5:	c2 04 00             	ret    $0x4
401bf8:	83 e9 04             	sub    $0x4,%ecx
401bfb:	e9 e6 ff ff ff       	jmp    0x401be6
401c00:	56                   	push   %esi
401c01:	8b f1                	mov    %ecx,%esi
401c03:	e8 45 1f 00 00       	call   0x403b4d
401c08:	8b c6                	mov    %esi,%eax
401c0a:	5e                   	pop    %esi
401c0b:	c2 04 00             	ret    $0x4
401c0e:	83 e9 04             	sub    $0x4,%ecx
401c11:	e9 ea ff ff ff       	jmp    0x401c00
401c16:	c7 01 74 27 41 00    	movl   $0x412774,(%ecx)
401c1c:	8b c1                	mov    %ecx,%eax
401c1e:	c7 41 04 6c 27 41 00 	movl   $0x41276c,0x4(%ecx)
401c25:	c2 04 00             	ret    $0x4
401c28:	83 e9 04             	sub    $0x4,%ecx
401c2b:	e9 e6 ff ff ff       	jmp    0x401c16
401c30:	56                   	push   %esi
401c31:	8b f1                	mov    %ecx,%esi
401c33:	e8 dc 1f 00 00       	call   0x403c14
401c38:	8b c6                	mov    %esi,%eax
401c3a:	5e                   	pop    %esi
401c3b:	c2 04 00             	ret    $0x4
401c3e:	c7 01 84 27 41 00    	movl   $0x412784,(%ecx)
401c44:	8b c1                	mov    %ecx,%eax
401c46:	c2 04 00             	ret    $0x4
401c49:	56                   	push   %esi
401c4a:	8b f1                	mov    %ecx,%esi
401c4c:	e8 5f 20 00 00       	call   0x403cb0
401c51:	8b c6                	mov    %esi,%eax
401c53:	5e                   	pop    %esi
401c54:	c2 04 00             	ret    $0x4
401c57:	c7 01 94 27 41 00    	movl   $0x412794,(%ecx)
401c5d:	8b c1                	mov    %ecx,%eax
401c5f:	c2 04 00             	ret    $0x4
401c62:	56                   	push   %esi
401c63:	8b f1                	mov    %ecx,%esi
401c65:	e8 f5 21 00 00       	call   0x403e5f
401c6a:	8b c6                	mov    %esi,%eax
401c6c:	5e                   	pop    %esi
401c6d:	c2 04 00             	ret    $0x4
401c70:	56                   	push   %esi
401c71:	8b f1                	mov    %ecx,%esi
401c73:	e8 17 23 00 00       	call   0x403f8f
401c78:	8b c6                	mov    %esi,%eax
401c7a:	5e                   	pop    %esi
401c7b:	c2 04 00             	ret    $0x4
401c7e:	56                   	push   %esi
401c7f:	8b f1                	mov    %ecx,%esi
401c81:	e8 07 24 00 00       	call   0x40408d
401c86:	8b c6                	mov    %esi,%eax
401c88:	5e                   	pop    %esi
401c89:	c2 04 00             	ret    $0x4
401c8c:	56                   	push   %esi
401c8d:	8b f1                	mov    %ecx,%esi
401c8f:	e8 e7 24 00 00       	call   0x40417b
401c94:	8b c6                	mov    %esi,%eax
401c96:	5e                   	pop    %esi
401c97:	c2 04 00             	ret    $0x4
401c9a:	56                   	push   %esi
401c9b:	8b f1                	mov    %ecx,%esi
401c9d:	e8 e2 25 00 00       	call   0x404284
401ca2:	8b c6                	mov    %esi,%eax
401ca4:	5e                   	pop    %esi
401ca5:	c2 04 00             	ret    $0x4
401ca8:	56                   	push   %esi
401ca9:	8b f1                	mov    %ecx,%esi
401cab:	e8 4b 27 00 00       	call   0x4043fb
401cb0:	8b c6                	mov    %esi,%eax
401cb2:	5e                   	pop    %esi
401cb3:	c2 04 00             	ret    $0x4
401cb6:	c7 01 cc 27 41 00    	movl   $0x4127cc,(%ecx)
401cbc:	8b c1                	mov    %ecx,%eax
401cbe:	c2 04 00             	ret    $0x4
401cc1:	56                   	push   %esi
401cc2:	8b f1                	mov    %ecx,%esi
401cc4:	8b 4e 0c             	mov    0xc(%esi),%ecx
401cc7:	e8 61 3d 00 00       	call   0x405a2d
401ccc:	83 66 0c 00          	andl   $0x0,0xc(%esi)
401cd0:	8b 0e                	mov    (%esi),%ecx
401cd2:	e8 56 3d 00 00       	call   0x405a2d
401cd7:	83 26 00             	andl   $0x0,(%esi)
401cda:	5e                   	pop    %esi
401cdb:	c3                   	ret
401cdc:	56                   	push   %esi
401cdd:	8b f1                	mov    %ecx,%esi
401cdf:	e8 fd 28 00 00       	call   0x4045e1
401ce4:	8b c6                	mov    %esi,%eax
401ce6:	5e                   	pop    %esi
401ce7:	c2 04 00             	ret    $0x4
401cea:	56                   	push   %esi
401ceb:	8b f1                	mov    %ecx,%esi
401ced:	e8 85 29 00 00       	call   0x404677
401cf2:	8b c6                	mov    %esi,%eax
401cf4:	5e                   	pop    %esi
401cf5:	c2 04 00             	ret    $0x4
401cf8:	c7 01 e4 27 41 00    	movl   $0x4127e4,(%ecx)
401cfe:	8b c1                	mov    %ecx,%eax
401d00:	c2 04 00             	ret    $0x4
401d03:	56                   	push   %esi
401d04:	8b f1                	mov    %ecx,%esi
401d06:	e8 c3 2a 00 00       	call   0x4047ce
401d0b:	8b c6                	mov    %esi,%eax
401d0d:	5e                   	pop    %esi
401d0e:	c2 04 00             	ret    $0x4
401d11:	55                   	push   %ebp
401d12:	8b ec                	mov    %esp,%ebp
401d14:	51                   	push   %ecx
401d15:	53                   	push   %ebx
401d16:	8b 5d 08             	mov    0x8(%ebp),%ebx
401d19:	56                   	push   %esi
401d1a:	8b f1                	mov    %ecx,%esi
401d1c:	57                   	push   %edi
401d1d:	8b 03                	mov    (%ebx),%eax
401d1f:	89 06                	mov    %eax,(%esi)
401d21:	8d 4e 08             	lea    0x8(%esi),%ecx
401d24:	8b 43 04             	mov    0x4(%ebx),%eax
401d27:	89 46 04             	mov    %eax,0x4(%esi)
401d2a:	8d 43 08             	lea    0x8(%ebx),%eax
401d2d:	50                   	push   %eax
401d2e:	e8 46 11 00 00       	call   0x402e79
401d33:	8d 7b 10             	lea    0x10(%ebx),%edi
401d36:	57                   	push   %edi
401d37:	8d 4e 10             	lea    0x10(%esi),%ecx
401d3a:	e8 1b 17 00 00       	call   0x40345a
401d3f:	8b 47 04             	mov    0x4(%edi),%eax
401d42:	8d 4e 1c             	lea    0x1c(%esi),%ecx
401d45:	89 46 14             	mov    %eax,0x14(%esi)
401d48:	8b 43 18             	mov    0x18(%ebx),%eax
401d4b:	89 46 18             	mov    %eax,0x18(%esi)
401d4e:	8d 43 1c             	lea    0x1c(%ebx),%eax
401d51:	50                   	push   %eax
401d52:	e8 03 17 00 00       	call   0x40345a
401d57:	8b 43 20             	mov    0x20(%ebx),%eax
401d5a:	8d 4e 24             	lea    0x24(%esi),%ecx
401d5d:	89 46 20             	mov    %eax,0x20(%esi)
401d60:	8d 43 24             	lea    0x24(%ebx),%eax
401d63:	50                   	push   %eax
401d64:	e8 f1 16 00 00       	call   0x40345a
401d69:	8d 43 28             	lea    0x28(%ebx),%eax
401d6c:	50                   	push   %eax
401d6d:	8d 4e 28             	lea    0x28(%esi),%ecx
401d70:	e8 e5 16 00 00       	call   0x40345a
401d75:	8b 43 2c             	mov    0x2c(%ebx),%eax
401d78:	8d 4e 30             	lea    0x30(%esi),%ecx
401d7b:	89 46 2c             	mov    %eax,0x2c(%esi)
401d7e:	8d 43 30             	lea    0x30(%ebx),%eax
401d81:	50                   	push   %eax
401d82:	e8 d3 16 00 00       	call   0x40345a
401d87:	8b 43 34             	mov    0x34(%ebx),%eax
401d8a:	8d 4e 44             	lea    0x44(%esi),%ecx
401d8d:	89 46 34             	mov    %eax,0x34(%esi)
401d90:	8b 43 38             	mov    0x38(%ebx),%eax
401d93:	89 46 38             	mov    %eax,0x38(%esi)
401d96:	8b 43 3c             	mov    0x3c(%ebx),%eax
401d99:	89 46 3c             	mov    %eax,0x3c(%esi)
401d9c:	8b 43 40             	mov    0x40(%ebx),%eax
401d9f:	89 46 40             	mov    %eax,0x40(%esi)
401da2:	8d 43 44             	lea    0x44(%ebx),%eax
401da5:	50                   	push   %eax
401da6:	e8 ce 10 00 00       	call   0x402e79
401dab:	5f                   	pop    %edi
401dac:	8b c6                	mov    %esi,%eax
401dae:	5e                   	pop    %esi
401daf:	5b                   	pop    %ebx
401db0:	c9                   	leave
401db1:	c2 04 00             	ret    $0x4
401db4:	53                   	push   %ebx
401db5:	56                   	push   %esi
401db6:	8d 59 fc             	lea    -0x4(%ecx),%ebx
401db9:	8b 33                	mov    (%ebx),%esi
401dbb:	57                   	push   %edi
401dbc:	6b fe 30             	imul   $0x30,%esi,%edi
401dbf:	83 c7 28             	add    $0x28,%edi
401dc2:	85 f6                	test   %esi,%esi
401dc4:	74 11                	je     0x401dd7
401dc6:	03 f9                	add    %ecx,%edi
401dc8:	83 ef 30             	sub    $0x30,%edi
401dcb:	8b cf                	mov    %edi,%ecx
401dcd:	e8 94 10 00 00       	call   0x402e66
401dd2:	83 ee 01             	sub    $0x1,%esi
401dd5:	75 f1                	jne    0x401dc8
401dd7:	5f                   	pop    %edi
401dd8:	5e                   	pop    %esi
401dd9:	8b c3                	mov    %ebx,%eax
401ddb:	5b                   	pop    %ebx
401ddc:	c2 04 00             	ret    $0x4
401ddf:	55                   	push   %ebp
401de0:	8b ec                	mov    %esp,%ebp
401de2:	51                   	push   %ecx
401de3:	51                   	push   %ecx
401de4:	8b c1                	mov    %ecx,%eax
401de6:	56                   	push   %esi
401de7:	57                   	push   %edi
401de8:	89 45 fc             	mov    %eax,-0x4(%ebp)
401deb:	8b 50 08             	mov    0x8(%eax),%edx
401dee:	3b 50 04             	cmp    0x4(%eax),%edx
401df1:	72 66                	jb     0x401e59
401df3:	53                   	push   %ebx
401df4:	8d 72 01             	lea    0x1(%edx),%esi
401df7:	33 db                	xor    %ebx,%ebx
401df9:	0f af 70 0c          	imul   0xc(%eax),%esi
401dfd:	6a 0c                	push   $0xc
401dff:	59                   	pop    %ecx
401e00:	8b c6                	mov    %esi,%eax
401e02:	89 75 f8             	mov    %esi,-0x8(%ebp)
401e05:	f7 e1                	mul    %ecx
401e07:	0f 90 c3             	seto   %bl
401e0a:	33 c9                	xor    %ecx,%ecx
401e0c:	f7 db                	neg    %ebx
401e0e:	0b d8                	or     %eax,%ebx
401e10:	83 c3 04             	add    $0x4,%ebx
401e13:	0f 92 c1             	setb   %cl
401e16:	f7 d9                	neg    %ecx
401e18:	0b cb                	or     %ebx,%ecx
401e1a:	e8 bc 3c 00 00       	call   0x405adb
401e1f:	33 d2                	xor    %edx,%edx
401e21:	85 c0                	test   %eax,%eax
401e23:	74 07                	je     0x401e2c
401e25:	89 30                	mov    %esi,(%eax)
401e27:	8d 48 04             	lea    0x4(%eax),%ecx
401e2a:	eb 02                	jmp    0x401e2e
401e2c:	8b ca                	mov    %edx,%ecx
401e2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
401e31:	39 50 08             	cmp    %edx,0x8(%eax)
401e34:	76 18                	jbe    0x401e4e
401e36:	8b da                	mov    %edx,%ebx
401e38:	8b 30                	mov    (%eax),%esi
401e3a:	8d 3c 0b             	lea    (%ebx,%ecx,1),%edi
401e3d:	03 f3                	add    %ebx,%esi
401e3f:	42                   	inc    %edx
401e40:	83 c3 0c             	add    $0xc,%ebx
401e43:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e44:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e45:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e46:	3b 50 08             	cmp    0x8(%eax),%edx
401e49:	72 ed                	jb     0x401e38
401e4b:	8b 75 f8             	mov    -0x8(%ebp),%esi
401e4e:	8b 50 08             	mov    0x8(%eax),%edx
401e51:	89 08                	mov    %ecx,(%eax)
401e53:	89 70 04             	mov    %esi,0x4(%eax)
401e56:	5b                   	pop    %ebx
401e57:	eb 02                	jmp    0x401e5b
401e59:	8b 08                	mov    (%eax),%ecx
401e5b:	6b fa 0c             	imul   $0xc,%edx,%edi
401e5e:	8d 75 08             	lea    0x8(%ebp),%esi
401e61:	03 f9                	add    %ecx,%edi
401e63:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e64:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e65:	a5                   	movsl  %ds:(%esi),%es:(%edi)
401e66:	ff 40 08             	incl   0x8(%eax)
401e69:	5f                   	pop    %edi
401e6a:	5e                   	pop    %esi
401e6b:	c9                   	leave
401e6c:	c2 0c 00             	ret    $0xc
401e6f:	55                   	push   %ebp
401e70:	8b ec                	mov    %esp,%ebp
401e72:	56                   	push   %esi
401e73:	8b f1                	mov    %ecx,%esi
401e75:	8d 46 04             	lea    0x4(%esi),%eax
401e78:	50                   	push   %eax
401e79:	33 c0                	xor    %eax,%eax
401e7b:	50                   	push   %eax
401e7c:	ff 75 0c             	push   0xc(%ebp)
401e7f:	ff 75 08             	push   0x8(%ebp)
401e82:	50                   	push   %eax
401e83:	50                   	push   %eax
401e84:	ff 15 8c 20 41 00    	call   *0x41208c
401e8a:	33 c9                	xor    %ecx,%ecx
401e8c:	89 06                	mov    %eax,(%esi)
401e8e:	85 c0                	test   %eax,%eax
401e90:	5e                   	pop    %esi
401e91:	0f 95 c1             	setne  %cl
401e94:	8b c1                	mov    %ecx,%eax
401e96:	5d                   	pop    %ebp
401e97:	c2 08 00             	ret    $0x8
401e9a:	56                   	push   %esi
401e9b:	8b f1                	mov    %ecx,%esi
401e9d:	83 3e 00             	cmpl   $0x0,(%esi)
401ea0:	74 12                	je     0x401eb4
401ea2:	6a 00                	push   $0x0
401ea4:	ff 36                	push   (%esi)
401ea6:	ff 15 88 20 41 00    	call   *0x412088
401eac:	ff 36                	push   (%esi)
401eae:	ff 15 00 22 41 00    	call   *0x412200
401eb4:	83 26 00             	andl   $0x0,(%esi)
401eb7:	5e                   	pop    %esi
401eb8:	c3                   	ret
401eb9:	55                   	push   %ebp
401eba:	8b ec                	mov    %esp,%ebp
401ebc:	56                   	push   %esi
401ebd:	8b 75 08             	mov    0x8(%ebp),%esi
401ec0:	57                   	push   %edi
401ec1:	56                   	push   %esi
401ec2:	8b f9                	mov    %ecx,%edi
401ec4:	e8 91 15 00 00       	call   0x40345a
401ec9:	8d 46 04             	lea    0x4(%esi),%eax
401ecc:	50                   	push   %eax
401ecd:	8d 4f 04             	lea    0x4(%edi),%ecx
401ed0:	e8 85 15 00 00       	call   0x40345a
401ed5:	8d 46 08             	lea    0x8(%esi),%eax
401ed8:	50                   	push   %eax
401ed9:	8d 4f 08             	lea    0x8(%edi),%ecx
401edc:	e8 79 15 00 00       	call   0x40345a
401ee1:	8b 46 0c             	mov    0xc(%esi),%eax
401ee4:	89 47 0c             	mov    %eax,0xc(%edi)
401ee7:	8b c7                	mov    %edi,%eax
401ee9:	5f                   	pop    %edi
401eea:	5e                   	pop    %esi
401eeb:	5d                   	pop    %ebp
401eec:	c2 04 00             	ret    $0x4
401eef:	55                   	push   %ebp
401ef0:	8b ec                	mov    %esp,%ebp
401ef2:	51                   	push   %ecx
401ef3:	51                   	push   %ecx
401ef4:	53                   	push   %ebx
401ef5:	56                   	push   %esi
401ef6:	8b f1                	mov    %ecx,%esi
401ef8:	57                   	push   %edi
401ef9:	8b 7e 08             	mov    0x8(%esi),%edi
401efc:	3b 7e 04             	cmp    0x4(%esi),%edi
401eff:	0f 82 8d 00 00 00    	jb     0x401f92
401f05:	47                   	inc    %edi
401f06:	33 db                	xor    %ebx,%ebx
401f08:	0f af 7e 0c          	imul   0xc(%esi),%edi
401f0c:	6a 10                	push   $0x10
401f0e:	59                   	pop    %ecx
401f0f:	8b c7                	mov    %edi,%eax
401f11:	89 7d f8             	mov    %edi,-0x8(%ebp)
401f14:	f7 e1                	mul    %ecx
401f16:	0f 90 c3             	seto   %bl
401f19:	33 c9                	xor    %ecx,%ecx
401f1b:	f7 db                	neg    %ebx
401f1d:	0b d8                	or     %eax,%ebx
401f1f:	83 c3 04             	add    $0x4,%ebx
401f22:	0f 92 c1             	setb   %cl
401f25:	f7 d9                	neg    %ecx
401f27:	0b cb                	or     %ebx,%ecx
401f29:	e8 ad 3b 00 00       	call   0x405adb
401f2e:	85 c0                	test   %eax,%eax
401f30:	74 21                	je     0x401f53
401f32:	89 38                	mov    %edi,(%eax)
401f34:	8d 58 04             	lea    0x4(%eax),%ebx
401f37:	8b cf                	mov    %edi,%ecx